-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Add IHttpSysRequestTimingFeature to support accessing http.sys timing info #48218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IHttpSysRequestTimingFeature to support accessing http.sys timing info #48218
Conversation
…r accessing http.sys request timing info
Thanks for your PR, @NGloreous. Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
src/Servers/HttpSys/src/RequestProcessing/RequestContext.FeatureCollection.cs
Outdated
Show resolved
Hide resolved
Looks like
|
Co-authored-by: Chris Ross <Tratcher@Outlook.com>
Co-authored-by: Stephen Halter <halter73@gmail.com>
@NGloreous, this change will be considered for inclusion in the blog post for the release it'll ship in. Nice work! Please ensure that the original comment in this thread contains a clear explanation of what the change does, why it's important (what problem does it solve?), and, if relevant, include things like code samples and/or performance numbers. This content may not be exactly what goes into the blog post, but it will help the team putting together the announcement. Thanks! |
Adding IHttpSysRequestTimingFeature to support a well-defined type for accessing http.sys request timing info
Addresses a portion of #35012 by exposing a well-defined API to access http.sys timing info.
Description
Currently http.sys request info is exposed as a ROM via IHttpSysRequestInfoFeature in #14119. Now that the API has stabilized, we want to add well-defined APIs to expose this information. This PR adds APIs to access all timings, individual timings by type, and to get elapsed time between two timings.
The request timing information from http.sys provides high resolution timestamps, obtained from calling QueryPerformanceCounter, of the various steps of request processing. Exposing this information to the consuming service can be helpful in understanding the total time spent to process requests, attribute that time to the various stages of request processing, and diagnose issues when they arise.
Contributes to #35012