Я бы рекомендовал установить процедуру доступа к данным, которая будет использоваться для всего сайта.
Эта процедура/класс/или все что угодно может войти в базу данных или в лог все «хиты», их длительность, ошибка (любая), тайм-аут и т.д.
Если вы программируете его правильно , вы сможете узнать, сколько БД попало/загрузка страницы, avg (DBHit) +, вы получите в качестве бесплатного бонуса «самый длинный SProc, самый короткий, чаще всего называемый».
Положительная сторона этого заключается в том, что вам не нужно изменять какие-либо хранимые процедуры, и вы можете иметь небольшую «обертку» вокруг вашего доступа к БД.
Для «Длительности на страницу», если вы перейдете к анализу Google, вы не сможете объединить информацию с тем, что вы получили на сервере базы данных. Поэтому я бы рекомендовал регистрировать каждый доступ к странице в БД.
Тогда вы можете сделать вывод, что Page1.StartTime = getdate(), Page1.EndTime = (page2.Starttime-1 или session.log_off_time), например. [Это немного принципиально, но в соответствии с вашей средой вы можете улучшить его].