marcinbudny/applicationinsights-owinextensions

operation_Name Missing From Custom Event Data

Closed this issue · 4 comments

kaftw commented

When we were using IIS hosting, we were getting the operation_Name (e.g. "GET /version") for free. Now that we've switched to OWIN hosting and this package, that isn't being logged anymore. I don't know if that's a deficiency in this package or a limitation in OWIN hosting. We can certainly add this data ourselves, but I wanted to make sure there wasn't some other way I was missing before going that route.

Hi, the name of the operation is constructed here: https://github.com/marcinbudny/applicationinsights-owinextensions/blob/develop/src/ApplicationInsights.OwinExtensions/HttpRequestTrackingMiddleware.cs#L108
and later on attached to the telemetry. Please verify your OWIN pipeline setup.

kaftw commented

The request operation name is recorded for requests, which is why I changed the name of the issue after I saw that. But when tracking events, it is no longer populated as it used to be prior to moving to OWIN and this package.

My current setup is invoking the UseApplicationInsights extension method for IAppBuilder, which uses the HttpRequestTrackingMiddleware class you linked to. However, that class is only recording the operation name when tracking a request and not for events tracked during a request.

We're using this method specifically: https://docs.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.telemetryclient.trackevent.

This library does not support putting operation name on custom events. With OWIN hosting, the ambient HttpContext is not available. Information about current request is hard to extract unless you have direct access to the OWIN context (e.g. you are creating the event in a middleware or MVC controller). You could try to build your own telemetry initializer and store the information in a similar way to what OperationIdTelemetryInitializer does.
Also it should be possible to correlate all the events within one request by operation id, so maybe you don't need to put this info on all events.

kaftw commented

Thanks!