consideri il seguente codice per misurare i tempi di richiesta/risposta in un'applicazione Asp.Net:modo accurato per misurare i tempi di richiesta/risposta di un'applicazione Asp.Net MVC
protected void Application_EndRequest()
{
Trace.WriteLine(string.Format("{0}:{1}",
(DateTime.Now - HttpContext.Current.Timestamp).TotalMilliseconds,
HttpContext.Current.Request.RawUrl));
}
Secondo MSDN, DateTime.Now
ha un approssimativo risoluzione di 10 millisecondi.
Inoltre, dal MSDN HttpContext.Timestamp description,
Il timestamp restituito dalla proprietà
Timestamp
è l'ora locale del server e viene impostato durante l'istanza dell'oggettoHttpContext
. L'ora locale è uguale all'ora UTC più l'offset UTC.
Il codice precedente dovrebbe in teoria quindi darmi il tempo di richiesta/risposta totale in millisecondi.
La mia domanda è, quanto è accurato questo? E c'è un modo più preciso/migliore per farlo?
Grazie, ho preso in considerazione questo, tuttavia dovrei avviare (e memorizzare) lo StopWatch da qualche parte. HttpContext.Current.Timestamp viene aggiunto abbastanza presto nella pipeline, quindi sembra un buon posto per misurare i tempi di risposta. – magritte
Accettato come risposta e aggiungerà la risposta alla soluzione. – magritte