Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs) LXFramework.oRequest = Request LXFramework.oResponse = Response LXFramework.oServer = Server LXFramework.BeginRequest() End Sub Sub Application_EndRequest(ByVal sender As Object, ByVal e As EventArgs) LXFramework.oResponse.Write(LXFramework.GetJavascriptMessage) LXFramework.EndRequest() End SubThose two events will handle this. In my case, for each request, I am calling BeginRequest, which is a method in my framework. This one time stamps the start time. When the request is completed, EndRequest() will be fired and will call the method EndRequest() in my framework which logs the duration.