You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 10, 2020. It is now read-only.
I notice that, under load, my ASP.NET Core website generates request telemetry with duplicate Operation IDs.
It appears that HostingDiagnosticListener isn't written with multiple simultaneous requests in mind.
In particular, this.client.Context.Operation.Id gets overwritten by each new request (line 44)
(Also beginRequestTimestamp)
Rather that setting the Operation ID in the client's context (which is like setting it globally), I believe it should be set in the RequestTelemetry object that is added to HttpContext.Features
One would think that the timestamp could also be recorded in the RequestTelemetry object (indeed it already has fields for recording start time, so it's odd that it's not initialized here)
I notice that, under load, my ASP.NET Core website generates request telemetry with duplicate Operation IDs.
It appears that HostingDiagnosticListener isn't written with multiple simultaneous requests in mind.
In particular,
this.client.Context.Operation.Idgets overwritten by each new request (line 44)(Also
beginRequestTimestamp)Rather that setting the Operation ID in the client's context (which is like setting it globally), I believe it should be set in the
RequestTelemetryobject that is added toHttpContext.FeaturesOne would think that the timestamp could also be recorded in the RequestTelemetry object (indeed it already has fields for recording start time, so it's odd that it's not initialized here)