2009-05-05 2 views
2

Что является самым простым способом отслеживать, сколько времени требуется для рендеринга моих страниц asp.net (я использую веб-формы, если это имеет значение)?Как показать время генерации страницы в asp.net?

Я знаю, что жизненный цикл страницы довольно востребован, но я в основном ищу только одно число, которое говорит мне, сколько времени мой код занял, чтобы отобразить его внизу (или где угодно).

Редактировать

Некоторые люди упоминали asp.net след конфигурации, который является удивительным, и я не знаю, как я пропустил это. Одна вещь, которую я до сих пор ищет, как выводить только окончательное время рендеринга: т.е.

Response.Write(Context.Trace.FinalRenderTimeFromFirst) 

Но я не могу понять, как проверить содержимое микроэлемента.

ответ

1

Вы хотите включить трассировку.

От The Basics of .NET Tracing:

[M] odify микроэлемента в web.config следующим образом:

<trace enabled="true" .../>

+0

И если вы используете эту конфигурацию, вы сможете найти свои результаты, перейдя по адресу http: //YOUR_APP_ROOT/trace.axd –

1

положить след = истина в первой строке вас. aspx и используйте response.trace ("") в вашем коде, чтобы добавить к нему дополнительную информацию.

2

Я использую Fiddler (http://www.fiddler2.com/Fiddler2/version.asp) для таких вещей. Это не характерно для ASP.NET, но это сломает вашу страницу по мере ее рендеринга клиенту и покажет время, затрачиваемое на загрузку каждой части вашей страницы по мере ее поступления в браузер.

Надеюсь, это поможет!

0

Я обычно добавляю этот простой код в нижней части моего зрения макета:

<!-- Page generated in @((DateTime.UtcNow - HttpContext.Current.Timestamp.ToUniversalTime()).TotalSeconds.ToString("F4")) s --> 

Я использую ASP.NET MVC с Razor, но должно быть легко тривиальным порт для веб-форм тоже.

Выходы что-то вроде:

<!-- Page generated in 0.4399 s --> 

Это начинает измерение, когда HttpContext создается (согласно the documentation), и останавливается прямо перед записью на выходе, поэтому он должен быть очень точным.

Возможно, это не сработает для всех случаев использования (если вы хотите измерить дочерние действия или игнорировать время вне действия MVC и т. Д.), Но его легко вставить в представление.

Для более совершенной диагностики я использовал Glimpse.

Смежные вопросы