Elastic APM instrumentation vs OpenTelemetry instrumentation

I'm trying OpenTelemetry client with Elastic APM to log into Elastic APM server. There are several instrumentations that exists both in OTEL client and Elastic APM client, for example AspNetCoreInstrumentation. Do these do the same thing? Do I need to use both or either of them?

Sample:

services.AddOpenTelemetry()
                .ConfigureResource(resource => resource
                    .AddService(serviceName))
                .WithTracing(tracing => tracing
                    .AddSource(serviceName)
                    .AddAspNetCoreInstrumentation()); // <--

...
hostbuilder.UseElasticApm(new AspNetCoreDiagnosticSubscriber()); // <--

Hi, @deastr.

Generally, you'd choose one agent that best suits your needs. Both support similar instrumentations, although equally, both have some unique support right now. You can see what Elastic APM .NET agent supports here. We also have some features such as central config, span compression etc. which are not part of OTel.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.