I\'m currently developing an ASP.NET application which uses a MasterPage
and I want to measure my application webform\'s loading time and display that informati
<%@ Page Trace="true" %> (or set this in web.config)
Enable tracing and check out the information in trace.axd (in the root of your website).
Then you could set timing points with:
Trace.Write("Start time intensive task");
Trace.Write("Stop time intensive task");
http://msdn.microsoft.com/en-us/library/bb386420.aspx
This is assuming "your client" want deep debug data.
Your appproach seems to be exact enough, as long as you do not render very large control trees and you don't use server controls that do all their work in an overridden Render
method (unexperienced server control authors tend to do exactly that...).
In that case, there is actually a way to render the actual rendering time ;-) Just use a HttpResponse.Filter
object to fill a placeholder with the elapsed time. These filters are applied after the web form is rendered and before it goes to the client.
If you need this just for development, search for trace.axd
, this will give you a lot of details not only about timing but also the request context, control tree structure and page size.
This really depends on what metric you are looking to actually show.
The answer to these two will dictate what makes the most sense when it comes to recording. If your goal is #1, then I would say your method works. If you are going for number 2, I could be looking at what Erwin has.