Rozważmy następujący kod do pomiaru razy żądanie/odpowiedź w aplikacji ASP.NET:dokładny sposób zmierzyć razy żądanie/odpowiedź z aplikacji Asp.Net MVC
protected void Application_EndRequest()
{
Trace.WriteLine(string.Format("{0}:{1}",
(DateTime.Now - HttpContext.Current.Timestamp).TotalMilliseconds,
HttpContext.Current.Request.RawUrl));
}
według MSDN, DateTime.Now
ma przybliżoną rozdzielczość 10 milisekund.
Również z MSDN HttpContext.Timestamp description,
Datownik wrócił z posesji
Timestamp
jest czas lokalny serwera i jest ustawiony podczas konkretyzacji przedmiotuHttpContext
. Czas lokalny jest równy czasowi UTC i przesunięciu UTC.
Powyższy kod powinien teoretycznie dać mi całkowity czas żądania/odpowiedzi w milisekundach.
Moje pytanie brzmi, jak dokładne to będzie? I czy istnieje bardziej dokładny/lepszy sposób radzenia sobie z tym?
Dzięki, wziąłem pod uwagę to, jednak musiałbym uruchomić (i przechowywać) gdzieś StopWatch. HttpContext.Current.Timestamp jest dodawany dość wcześnie, więc wydaje się dobrym miejscem do pomiaru czasów odpowiedzi. – magritte
Zaakceptowałem to jako odpowiedź i dołączę odpowiedź do rozwiązania. – magritte