Search code examples
c#.net.net-coreazure-application-insights

Track Custom ActivitySource with Application Insights


I am trying to get application insights to pick up on custom ActivitySource in a library, however the documentation is unclear on how to achieve this.

Currently I have the following:

...
public static readonly ActivitySource Source = new ActivitySource("MyCompany.Library");
...

In the library it is used like this:

using(var activity = Source.StartActivity("Action"))
{
   ...
}

And in my startup I've added the following:

services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>(
    (m, o) => m.IncludeDiagnosticSourceActivities.Add("MyCompany.Library")
);

services.AddApplicationInsightsTelemetryWorkerService();

However, these activities are not being picked up by application insights. Is there something else required to make application insights aware of these activities ?

I'd rather not 'pollute' these libraries with application insights code


Solution

  • ApplicationInsights SDKs does not support reporting telemetry from custom ActivitySource.

    There is a preview version which supports ActivitySource based telemetry. (Its called OpenTelemetry AzureMonitorExporter) https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-enable?tabs=net