This is a cache of https://www.elastic.co/guide/en/apm/agent/dotnet/current/supported-technologies.html. It is a snapshot of the page at 2024-08-28T01:03:21.155+0000.
Supported technologies | APM .NET Agent Reference [1.x] | Elastic

Supported technologies

edit

If your favorite technology is not supported yet, you can vote for it by participating in our survey. We will use the results to add support for the most requested technologies.

Another option is to add a dependency to the agent’s public API in order to programmatically create custom transactions and spans.

If you want to extend the auto-instrumentation capabilities of the agent, the contributing guide should get you started.

If, for example, the HTTP client library of your choice is not listed, it means that there won’t be spans for those outgoing HTTP requests. If the web framework you are using is not supported, the agent will not capture transactions.

.NET versions

edit

The agent works on every .NET flavor and version that supports .NET Standard 2.0. This means .NET Core 2.0 or newer, and .NET Framework 4.6.2* or newer.

* Due to binding issues introduced by Microsoft, we recommend at least .NET Framework 4.7.2 for best compatibility.

While this library should work on .NET Core 2.0+, we limit our support to only those versions currently supported by Microsoft - .NET 6.0 and newer.

Web frameworks

edit

Automatic instrumentation for a web framework means a transaction is automatically created for each incoming request and it is named after the registered route.

Automatic instrumentation is supported for the following web frameworks

Framework Supported versions Integration

ASP.NET Core [1.0] Added in 1.0.

2.1+

NuGet package

ASP.NET (.NET Framework) in IIS [1.1] Added in 1.1.

4.6.2+ (IIS 7.0 or newer)

Profiler auto instrumentation

or

NuGet package

RPC Frameworks

edit

The agent supports gRPC on .NET Core both on the client and the server side. Every gRPC call is automatically captured by the agent.

Streaming is not supported; for streaming use-cases, the agent does not create transactions and spans automatically.

Framework Supported versions Integration

gRPC [1.7] Added in 1.7.

Grpc.Net.Client 2.23.2+ (client side)

NuGet package

ASP.NET Core 2.1+ (server side)

NuGet package

Data access technologies

edit

Automatic instrumentation is supported for the following data access technologies

Data access technology Supported versions Integration

Azure CosmosDB [1.11] Added in 1.11.

Microsoft.Azure.Cosmos 3.0.0+

NuGet package

Microsoft.Azure.DocumentDB.Core 2.4.1+

Microsoft.Azure.DocumentDB 2.4.1+

Entity Framework Core [1.0] Added in 1.0.

Microsoft.EntityFrameworkCore 2.x+

NuGet package

Entity Framework 6 [1.2] Added in 1.2.

EntityFramework 6.2+

NuGet package

Elasticsearch [1.6] Added in 1.6.

Elasticsearch.Net 7.6.0+

NuGet package

NEST 7.6.0+

MySQL [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

MongoDB [1.9] Added in 1.9.

MongoDB.driver 2.19.0+

NuGet package

Oracle [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

PostgreSQL [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

Redis [1.8] Added in 1.8.

StackExchange.Redis 2.0.495+

NuGet package

SqlClient

System.Data.SqlClient 2.0.495+ [1.8] Added in 1.8.

NuGet package

See profiler documentation [1.12] Added in 1.12.

Profiler auto instrumentation

SQLite [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

Messaging systems

edit

We support automatic instrumentation for the following messaging systems

Messaging system Supported versions Integration

Azure Service Bus [1.10] Added in 1.10.

Microsoft.Azure.ServiceBus 3.0.0+

NuGet package

Azure.Messaging.ServiceBus 7.0.0+

Azure Queue Storage [1.10] Added in 1.10.

Azure.Storage.Queues 12.6.0+

NuGet package

Kafka [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

RabbitMQ [1.12] Added in 1.12.

See profiler documentation

Profiler auto instrumentation

Networking client-side technologies

edit

Automatic instrumentation for networking client-side technology means an HTTP span is automatically created for each outgoing HTTP request and tracing headers are propagated.

Framework Supported versions Integration

System.Net.Http.HttpClient [1.0] Added in 1.0.

built-in

part of Elastic.Apm

System.Net.HttpWebRequest [1.1] Added in 1.1.

Cloud services

edit

Automatic instrumentation for the following cloud services

Cloud service Supported versions Integration

Azure CosmosDB [1.11] Added in 1.11.

Microsoft.Azure.Cosmos 3.0.0+

NuGet package

Microsoft.Azure.DocumentDB.Core 2.4.1+

Microsoft.Azure.DocumentDB 2.4.1+

Azure Service Bus [1.10] Added in 1.10.

Microsoft.Azure.ServiceBus 3.0.0+

NuGet package

Azure.Messaging.ServiceBus 7.0.0+

Azure Storage [1.10] Added in 1.10.

Azure.Storage.Blobs 12.8.0+

NuGet package

Azure.Storage.Queues 12.6.0+

Azure.Storage.Files.Shares 12.6.0+