.NET Framework Compatibility Requirements
The Datadog .NET Tracer supports all .NET-based languages (for example, C#, F#, Visual Basic).
The .NET Tracer is open source. For more information, see the .NET Tracer repository.
Supported .NET Framework runtimes
The .NET Tracer supports automatic and custom instrumentation on the following .NET Framework versions. It also supports .NET Core and .NET 5+. The .NET Tracer does not support code running in partial trust environments.
.NET Framework Version | Microsoft End of Life | Support level | Package version | Datadog End of Life |
---|
4.8.1 | | GA | latest | |
4.8 | | GA | latest | |
4.7.2 | | GA | latest | |
4.7 | | GA | latest | |
4.6.2 | | GA | latest | |
4.6.1 | 04/26/2022 | GA | latest | |
4.6 | 04/26/2022 | EOL | < 2.0.0 (e.g. 1.31.2) | 04/26/2022 |
4.5.2 | 04/26/2022 | EOL | < 2.0.0 (e.g. 1.31.2) | 04/26/2022 |
4.5.1 | 01/12/2016 | EOL | < 2.0.0 (e.g. 1.31.2) | 04/26/2022 |
4.5 | 01/12/2016 | EOL | < 2.0.0 (e.g. 1.31.2) | 04/26/2022 |
Additional information can be found in Microsoft’s .NET Framework Lifecycle Policy and in .NET runtime support policy.
Note: When deciding which tracer version to use for an automatic instrumentation, use the .NET Framework version installed on the application server. For example, if you compile your application to target .NET Framework 4.5.1, but the application runs on a server that has .NET Framework 4.8 installed, use the latest version of the tracer. To determine which version of .NET Framework is installed on a machine, follow the
guidance provided by Microsoft.
Supported processor architectures
The .NET Tracer supports automatic instrumentation on the following architectures:
Processor architectures | Support level | Package version |
---|
Windows x64 (win-x64 ) | GA | latest |
Windows x86 (win-x86 ) | EOL | < 3.0.0 (e.g. 2.56.0) |
Note that running x86 applications on Windows x64 is supported.
Integrations
The latest version of the .NET Tracer can automatically instrument the following libraries:
Framework or library | NuGet package | Integration Name |
---|
.NET Remoting | built-in | Remoting |
ADO.NET | All AdoNet integrations | AdoNet |
Aerospike | Aerospike.Client 4.0.0+ | Aerospike |
ASP.NET (including Web Forms) | built-in | AspNet |
ASP.NET MVC | Microsoft.AspNet.Mvc 4.0+ | AspNetMvc |
ASP.NET Web API 2 | Microsoft.AspNet.WebApi 5.1+ | AspNetWebApi2 |
Amazon DynamoDB | AWSSDK.DynamoDBv2 3.0+ | AwsDynamoDb |
Amazon Kinesis | AWSSDK.Kinesis 3.0+ | AwsKinesis |
Amazon SNS | AWSSDK.SNS 3.0+ | AwsSns |
Amazon SQS | AWSSDK.SQS 3.0+ | AwsSqs |
CosmosDb | Microsoft.Azure.Cosmos 3.6.0+ | CosmosDb |
Couchbase | CouchbaseNetClient 2.2.8+ | Couchbase |
Elasticsearch | Elasticsearch.Net 5.3.0+ | ElasticsearchNet |
GraphQL .NET | GraphQL 2.3.0+ | GraphQL |
gRPC | Grpc.Core 2.3.0+ | Grpc |
HotChocolate | HotChocolate 11.0.0+ | HotChocolate |
HttpClient / HttpMessageHandler | built-in | HttpMessageHandler |
IBM MQ | amqmdnetstd 9.0.0+ | IbmMq |
Kafka | Confluent.Kafka 1.4+ | Kafka |
MongoDB | MongoDB.Driver.Core 2.1.0+ | MongoDb |
MSMQ | built-in | Msmq |
MySql | MySql.Data 6.7.0+MySqlConnector 0.61.0+ | MySql |
Oracle | Oracle.ManagedDataAccess 4.122.0+ | Oracle |
PostgreSQL | Npgsql 4.0+ | Npgsql |
Process | "System.Diagnostics.Process" 4.0+ | Process |
RabbitMQ | RabbitMQ.Client 3.6.9+, | RabbitMQ |
Redis (ServiceStack client) | ServiceStack.Redis 4.0.48+ | ServiceStackRedis |
Redis (StackExchange client) | StackExchange.Redis 1.0.187+ | StackExchangeRedis |
SQLite | System.Data.Sqlite 2.0.0+Microsoft.Data.Sqlite 1.0.0+ | Sqlite |
SQL Server | System.Data 4.0.0+System.Data.SqlClient 4.0.0+Microsoft.Data.SqlClient 1.0.0+ | SqlClient |
WCF (server) | built-in | Wcf |
WebClient / WebRequest | built-in | WebRequest |
Don’t see the library you’re looking for? First, check if the library produces observability data compatible with OpenTelemetry (see Using OpenTelemetry Instrumentation Libraries for more details). If not, Datadog is continually adding additional support. Check with the Datadog team for help.
Supported Datadog Agent versions
Datadog Agent version | Package version |
---|
7.x | latest |
6.x | latest |
5.x | latest |
.NET runtime support policy
The .NET Tracer depends on the host operating system, .NET Framework runtime, certain .NET Framework libraries, and the Datadog Agent/API. These third party software systems support specific versions of .NET Framework. When the external software no longer supports a version of .NET Framework, the .NET Tracer also limits its support for that version.
Levels of support
Level | Support provided |
---|
Unsupported | No implementation. Contact customer support for special requests. |
Beta | Initial implementation. May not yet contain all features. Support for new features, bug & security fixes provided on a best-effort basis. |
General Availability (GA) | Full implementation of all features. Full support for new features, bug & security fixes. |
Maintenance | Full implementation of existing features. Does not receive new features. Support for bug & security fixes only. |
End-of-life (EOL) | No support. |
Package versioning
Datadog APM for .NET Framework practices semantic versioning.
Version updates imply the following changes to runtime support:
- Major version updates (for example
1.0.0
to 2.0.0
) may change support for any runtime from Beta/GA to Maintenance/EOL. - Minor version updates (for example
1.0.0
to 1.1.0
) won’t lower the level of support for one runtime but may add support for one. - Patch version updates (for example
1.0.0
to 1.0.1
) will not change support for any runtime.
Further reading
Additional helpful documentation, links, and articles: