Datadog.Trace.Bundle
3.7.0
Prefix Reserved
dotnet add package Datadog.Trace.Bundle --version 3.7.0
NuGet\Install-Package Datadog.Trace.Bundle -Version 3.7.0
<PackageReference Include="Datadog.Trace.Bundle" Version="3.7.0" />
paket add Datadog.Trace.Bundle --version 3.7.0
#r "nuget: Datadog.Trace.Bundle, 3.7.0"
// Install Datadog.Trace.Bundle as a Cake Addin #addin nuget:?package=Datadog.Trace.Bundle&version=3.7.0 // Install Datadog.Trace.Bundle as a Cake Tool #tool nuget:?package=Datadog.Trace.Bundle&version=3.7.0
Datadog.Trace.Bundle
NuGet package
This package contains the full Datadog .NET APM suite for Tracing (automatic, and custom), Continuous Profiler and Application Security Monitoring (ASM).
Should I install this package?
Do not install this package if any of the following are true:
- You have already installed the Datadog .NET Tracer MSI on Windows. Install Datadog.Trace instead if you need custom instrumentation.
- You have already installed the Datadog .NET package on Linux. Install Datadog.Trace instead if you need custom instrumentation.
- You instrument your application using the .NET dd-trace tool. Install Datadog.Trace instead if you need custom instrumentation.
- Your application is running in Azure App Services. Install the AAS extension instead.
- Your application is running in IIS on Windows. This package is not supported; install the MSI instead, and install Datadog.Trace if you also need custom instrumentation.
Install this package if:
- You are running in a scenario where you can't install an MSI or Linux package. Services such as Azure Service Fabric provide limited access to the underlying server.
- You want to use both custom and automatic instrumentation, and keeping tracer versions in-sync is a chore.
- You are running multiple applications on a server and some of them use custom instrumentation, as well as automatic instrumentation.
- You prefer to deploy a static set of binaries rather than relying on existing infrastructure on the host.
If you are using automatic instrumentation and would like to interact with APM only through C# attributes, see the Datadog.Trace.Annotations NuGet package.
What does Datadog.Trace.Bundle contain?
Datadog.Trace.Bundle contains two things:
- A reference to the Datadog.Trace NuGet package for custom instrumentation.
- The native binaries required for automatic instrumentation, for the Continuous Profiler, and for ASM.
These native binaries are identical to those installed by the MSI and Linux installer packages, so Datadog.Trace.Bundle should be considered an alternative deployment mechanism for automatic instrumentation.
The main advantages of Datadog.Trace.Bundle over the MSI or Linux packages are:
- You can use it in locations where you cannot access the underlying host to install the MSI or Linux package.
- You can have multiple applications on the same host using different versions of Datadog.Trace.Bundle without issue.
Getting Started
- Configure the Datadog agent for APM as described in our documentation.
- Add the Datadog.Trace.Bundle NuGet package to your project, using
dotnet add package Datadog.Trace.Bundle
, for example. - Configure the tracer on the server, as described below
- View your live data on Datadog.
Configure the tracer
After adding the NuGet package to your project, set the following required environment variables to enable automatic instrumentation of your application and restart the application.
NOTE: The following are the mandatory variables. For further configuration options, see our public documentation for the Tracer and the Continuous Profiler.
.NET Core:
CORECLR_ENABLE_PROFILING=1
CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
CORECLR_PROFILER_PATH=<System-dependent path>
DD_DOTNET_TRACER_HOME=<APP_DIRECTORY>/datadog
.NET Framework:
COR_ENABLE_PROFILING=1
COR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
COR_PROFILER_PATH=<System-dependent path>
DD_DOTNET_TRACER_HOME=<APP_DIRECTORY>/datadog
The value for the <APP_DIRECTORY>
placeholder is the path to the directory containing the application’s .dll files. The value for the CORECLR_PROFILER_PATH
/COR_PROFILER_PATH
environment variable varies based on the system where the application is running:
OPERATING SYSTEM AND PROCESS ARCHITECTURE | CORECLR_PROFILER_PATH VALUE |
---|---|
Alpine Linux x64 | <APP_DIRECTORY>/datadog/linux-musl-x64/Datadog.Trace.ClrProfiler.Native.so |
Linux x64 | <APP_DIRECTORY>/datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so |
Alpine Linux ARM64 | <APP_DIRECTORY>/datadog/linux-musl-arm64/Datadog.Trace.ClrProfiler.Native.so |
Linux ARM64 | <APP_DIRECTORY>/datadog/linux-arm64/Datadog.Trace.ClrProfiler.Native.so |
Windows x64 | <APP_DIRECTORY>\datadog\win-x64\Datadog.Trace.ClrProfiler.Native.dll |
Windows x86 | <APP_DIRECTORY>\datadog\win-x86\Datadog.Trace.ClrProfiler.Native.dll |
For Docker images running on Linux, configure the image to run the createLogPath.sh script:
RUN /<APP_DIRECTORY>/datadog/createLogPath.sh
Examples
Docker examples are available here
Get in touch
If you have questions, feedback, or feature requests, reach our support.
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- Datadog.Trace (>= 3.7.0)
-
.NETFramework 4.6.1
- Datadog.Trace (>= 3.7.0)
-
.NETStandard 2.0
- Datadog.Trace (>= 3.7.0)
-
net6.0
- Datadog.Trace (>= 3.7.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Datadog.Trace.Bundle:
Package | Downloads |
---|---|
CleanWaterServices.LoggingTelemetry
A extension library atop of Serilog Library. It creates a clean wrapper for logging and telemetry into the environment insight platform. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Datadog.Trace.Bundle:
Repository | Stars |
---|---|
DataDog/dd-trace-dotnet
.NET Client Library for Datadog APM
|
Version | Downloads | Last updated |
---|---|---|
3.7.0 | 6,638 | 12/18/2024 |
3.6.1 | 44,294 | 11/26/2024 |
3.6.0 | 40,117 | 11/19/2024 |
3.5.0 | 61,417 | 11/6/2024 |
3.4.1 | 43,400 | 10/28/2024 |
3.4.0 | 26,491 | 10/24/2024 |
3.3.1 | 194,034 | 9/18/2024 |
3.3.0 | 9,523 | 9/16/2024 |
3.2.0 | 87,322 | 9/2/2024 |
3.1.0-prerelease | 1,088 | 8/14/2024 |
3.0.0-prerelease | 908 | 7/29/2024 |
2.61.0 | 11,572 | 11/6/2024 |
2.60.0 | 8,762 | 10/24/2024 |
2.59.0 | 114,198 | 9/16/2024 |
2.58.0 | 25,263 | 9/2/2024 |
2.57.0 | 125,530 | 8/14/2024 |
2.56.0 | 158,204 | 7/25/2024 |
2.55.0 | 39,007 | 7/18/2024 |
2.54.0 | 80,928 | 7/9/2024 |
2.53.2 | 1,519,762 | 6/19/2024 |
2.53.1 | 26,502 | 6/17/2024 |
2.53.0 | 77,167 | 6/11/2024 |
2.52.0 | 243,559 | 5/23/2024 |
2.51.0 | 235,682 | 5/6/2024 |
2.50.0 | 157,090 | 4/17/2024 |
2.49.0 | 399,031 | 3/18/2024 |
2.48.0 | 730,602 | 2/29/2024 |
2.47.0 | 204,619 | 2/14/2024 |
2.46.0 | 296,064 | 1/24/2024 |
2.45.0 | 120,840 | 1/10/2024 |
2.44.0 | 236,373 | 12/19/2023 |
2.43.0 | 135,050 | 12/5/2023 |
2.42.0 | 6,134 | 11/21/2023 |
2.41.0 | 251,267 | 11/6/2023 |
2.40.0 | 141,981 | 10/16/2023 |
2.39.0 | 29,107 | 10/11/2023 |
2.38.0 | 145,225 | 9/20/2023 |
2.37.0 | 165,639 | 8/31/2023 |
2.36.0 | 255,352 | 8/23/2023 |
2.35.0 | 161,492 | 7/31/2023 |
2.34.0 | 34,331 | 7/25/2023 |
2.33.0 | 129,743 | 7/4/2023 |
2.32.0 | 148,032 | 6/20/2023 |
2.31.0 | 133,750 | 5/31/2023 |
2.30.0 | 303,330 | 5/5/2023 |
2.29.0 | 174,419 | 4/17/2023 |
2.28.0 | 25,882 | 4/12/2023 |
2.27.0 | 100,507 | 3/24/2023 |
2.26.0 | 134,036 | 3/9/2023 |
2.24.1 | 685,570 | 2/27/2023 |
2.24.0 | 10,761 | 2/24/2023 |
2.23.0 | 280,580 | 2/8/2023 |
2.22.0 | 100,162 | 1/24/2023 |
2.21.0 | 209,874 | 12/20/2022 |
2.20.0 | 94,504 | 12/2/2022 |
2.19.0 | 92,960 | 11/10/2022 |
2.18.0 | 154,098 | 10/25/2022 |
2.17.0 | 711,166 | 10/11/2022 |
2.16.0 | 42,022 | 10/7/2022 |
See release notes at https://github.com/DataDog/dd-trace-dotnet/releases.
Please note that Datadog does not support tracing (manual or automatic) in partial-trust environments.