The .NET Datadog Trace library is open source - view the Github repository for more information.
The .NET Tracer supports automatic instrumentation on .NET 5, .NET Core 3.1, and .NET Core 2.1. It also supports .NET Framework.
Note: When using both manual and automatic instrumentation, it is important to keep the MSI installer and NuGet package versions in sync.
The .NET Tracer can instrument the following libraries automatically:
|Framework or library||NuGet package||Integration Name|
|HttpClient / HttpMessageHandler|
|WebClient / WebRequest|
|Redis (StackExchange client)|
|Redis (ServiceStack client)|
Note: The ADO.NET integration instruments calls made through the
DbCommand abstract class or the
IDbCommand interface, regardless of the underlying implementation. It also instruments direct calls to
Don’t see your desired frameworks? Datadog is continually adding additional support. Check with the Datadog team for help.
The .NET Tracer works on .NET Core 2.0, 2.2, and 3.0, but these versions reached their end of life and are no longer supported by Microsoft. See Microsoft’s support policy for more details. We recommend using the latest patch version of .NET Core 2.1 or 3.1. Older versions of .NET Core may encounter the following runtime issues when enabling automatic instrumentation:
|Issue||Affected .NET Core Versions||Workaround||More information|
|JIT Compiler bug on Linux/x64||2.0.x,2.1.0-2.1.11,2.2.0-2.2.5||Upgrade .NET Core to latest patch, or follow steps in the linked issue||DataDog/dd-trace-dotnet/issues/302|
|Resource lookup bug with a non ||2.0.0||Upgrade .NET Core to 2.0.3+||dotnet/runtime/issues/23938|
Additional helpful documentation, links, and articles: