2009-05-05 57 views
2

什麼是最簡單的方法來監視多長時間來呈現我的asp.net頁面(我使用webforms仍然重要)?如何在asp.net中顯示頁面生成時間?

我知道頁面生命週期是相當複雜的,但我基本上只是尋找一個數字,告訴我我的代碼需要多長時間運行並顯示在頁面底部(或任何地方)。

編輯

幾個人都提到了asp.net跟蹤配置,這是真棒,我不知道我怎麼錯過了它。有一件事我現在還在找工作是如何只輸出最終渲染時間:即

Response.Write(Context.Trace.FinalRenderTimeFromFirst) 

但我無法弄清楚如何檢查微量元素的含量。

回答

1

您希望啓用跟蹤。

The Basics of .NET Tracing

[M]在 的web.config odify微量元素如下:

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

+0

如果您使用此配置,您將能夠通過訪問http://YOUR_APP_ROOT/trace.axd找到您的結果 – 2009-05-05 16:53:31

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剃刀,但應該很容易瑣碎移植到Web窗體了。

輸出是這樣的:

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

這將啓動(根據the documentation)創建HttpContext時測量,並且正確寫入到輸出之前停止,所以它應該是相當準確的。它可能不適用於所有用例(如果您想測量子操作,或者忽略MVC操作之外的時間等),但它很容易粘貼到視圖中。

對於更高級的診斷,我曾經使用Glimpse

相關問題