-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[release/6.0-staging] Add status code and exception info to System.Net.Http events #84807
[release/6.0-staging] Add status code and exception info to System.Net.Http events #84807
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsBackport of #84036 to 6.0. Includes the following changes: -void RequestStop()
+void RequestStop(int statusCode)
-void ResponseHeadersStop()
+void ResponseHeadersStop(int statusCode)
-void RequestFailed();
+void RequestFailed(string exceptionMessage) Does not include the new Customer ImpactTODO TestingI added targeted CI tests that confirm new parameters are included in events. RiskTODO
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks.
Approved by Tactics (Steve Carroll) on May 1st via email. Marking as servicing-approved. |
@carlossanlop we are free to merge these now, right? |
Yes. PR owners are free to merge their backport PRs targeting the For future reference, you can use this checklist:
|
Backport of #84036 to 6.0.
Contributes to #83734.
Customer Impact
The networking stack is already instrumented with EventSource events that allow telemetry consumers to observe when requests are made and where they are spending time. Aside from a timestamp, these events often provide no or very few extra details.
On .NET Framework, a different EventSource provider exists that exposes information like the HTTP response status code. This provider does not exist on .NET Core+, and as a result, customers migrating their services from Framework are losing diagnostics information (e.g. XBox Live service).
This PR adds the response status code and exception message to existing events to cover that gap.
Testing
I added targeted CI tests that confirm new parameters are included in events.
Risk
Minimal.
Impacted code paths are all only reachable when telemetry is enabled.
With confirmation from @brianrob and @noahfalk, modifications to existing events in the manner done here are safe and non-breaking for existing telemetry consumers.