Supported technologies
The APM Agent for .NET targets every .NET flavor and version that supports .NET Standard 2.0 or .NET Standard 2.1.
However, we only test and support .NET runtimes that are also supported per the Microsoft .NET support policy. Therefore, we always recommend you upgrade to a supported runtime before raising issues.
On .NET Framework, due to binding issues introduced by Microsoft, we recommend at least .NET Framework 4.7.2 for best compatibility.
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
|
≥8.0.0 <10.0.0 | NuGet package |
| ASP.NET (.NET Framework) in IIS
|
4.6.2-4.8.1 (IIS 10) | Profiler auto instrumentation or NuGet package |
We support ASP.NET on IIS 10 versions supported by Microsoft per their IIS support policy. IIS must be installed on a supported Windows operating system version.
APM Agent auto instrumentation does not support the Web Garden (multi-worker process) mode of IIS.
The agent supports gRPC on .NET 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
|
Grpc.Net.Client ≥2.23.2 <3.0.0 (client side) | NuGet package |
| ASP.NET Core | ≥8.0.0 <10.0.0 (server side) | NuGet package |
Automatic instrumentation is supported for the following data access technologies
| Data access technology | Supported versions | Integration |
|---|---|---|
| Azure CosmosDB
|
Microsoft.Azure.Cosmos ≥3.0.0 <4.0.0 | NuGet package |
| Azure DocumentDb
|
Microsoft.Azure.DocumentDB.Core* ≥2.4.1 <3.0.0 Microsoft.Azure.DocumentDB* ≥2.4.1 <3.0.0 |
NuGet package |
| Entity Framework Core
|
Microsoft.EntityFrameworkCore ≥8.0.0 <10.0.0 | NuGet package |
| Entity Framework 6
|
EntityFramework 6.2-6.5.1 | NuGet package |
| Elasticsearch
|
Elastic.Clients.Elasticsearch ≥8.0.0 <10.0.0 | OpenTelemetry Bridge |
| MySQL
|
See profiler documentation | Profiler auto instrumentation |
| MongoDB | MongoDB.Driver ≥3.0.0 <4.0.0 | NuGet package |
| Oracle
|
See profiler documentation | Profiler auto instrumentation |
| PostgreSQL
|
See profiler documentation | Profiler auto instrumentation |
| Redis
|
StackExchange.Redis ≥2.0.495 <3.0.0 | NuGet package |
| SqlClient
|
System.Data.SqlClient ≥2.0.495 <5.0.0 | NuGet package |
| SQLite
|
See profiler documentation | Profiler auto instrumentation |
* Microsoft.Azure.DocumentDB.Core and Microsoft.Azure.DocumentDB are deprecated. The recommended replacement is the Microsoft.Azure.Cosmos package.
We support automatic instrumentation for the following messaging systems
| Messaging system | Supported versions | Integration |
|---|---|---|
| Azure Service Bus
|
Microsoft.Azure.ServiceBus ≥3.0.0 <6.0.0 Azure.Messaging.ServiceBus ≥7.0.0 <8.0.0 |
NuGet package |
| Azure Queue Storage
|
Azure.Storage.Queues ≥12.6.0 <13.0.0 | NuGet package |
| Kafka
|
See profiler documentation Confluent.Kafka ≥2.11.1 <3.0.0 |
Profiler auto instrumentation NuGet package |
| RabbitMQ
|
See profiler documentation | Profiler auto instrumentation |
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
|
built-in | part of Elastic.Apm |
| System.Net.HttpWebRequest
|
built-in | part of Elastic.Apm |
Automatic instrumentation for the following cloud services
| Cloud service | Supported versions | Integration |
|---|---|---|
| Azure CosmosDB
|
Microsoft.Azure.Cosmos ≥3.0.0 <4.0.0 | NuGet package |
| Azure DocumentDb
|
Microsoft.Azure.DocumentDB.Core* ≥2.4.1 <3.0.0 Microsoft.Azure.DocumentDB* ≥2.4.1 <3.0.0 |
NuGet package |
| Azure Service Bus
|
Microsoft.Azure.ServiceBus ≥3.0.0 <6.0.0 Azure.Messaging.ServiceBus ≥7.0.0 <8.0.0 |
NuGet package |
| Azure Storage
|
Azure.Storage.Blobs ≥12.8.0 <13.0.0 | NuGet package |
| Azure Storage Queues
|
Azure.Storage.Queues ≥12.6.0 <13.0.0 | NuGet package |
| Azure Storage Files
|
Azure.Storage.Files.Shares ≥12.6.0 <13.0.0 | NuGet package |
* Microsoft.Azure.DocumentDB.Core and Microsoft.Azure.DocumentDB are deprecated. The recommended replacement is the Microsoft.Azure.Cosmos package.