Datadog .NET APM is currently in Alpha and is not recommended for use in production.
Please check our documentation for more details.
Datadog APM traces the path of each request through your application stack, recording the latency of each step along the way. It sends all tracing data to Datadog, where you can easily identify which services or calls are slowing down your application the most.
This repository contains what you need to trace .NET applications. Some quick notes up front:
- Supports .NET Framework 4.5 or newer
- Supports .NET Core 2.0 or newer
- Multiple AppDomains are not supported
OS | Features | Status |
---|---|---|
Windows | manual instrumentation (NuGet), automatic instrumentation (MSI) | |
Linux | manual instrumentation (NuGet) |
Datadog Tracer: an OpenTracing-compatible .NET library that lets you trace any piece of your .NET code.
Datadog APM Agent: a service that runs on your application servers, accepting trace data from the Datadog Tracer and sending it to Datadog. (The APM Agent is not part of this repo; it's the same Agent to which all Datadog tracers—Go, Python, etc—send data)
Before instrumenting your code, install the Datadog APM Agent on your application servers (or locally, if you're just trying out .NET APM).
In order to build and run all the projects and tests included in this repo you need to have Visual Studio 2017 and the .NET Core 2.0 SDK or newer installed on your machine.
Some tests require you to have Docker for Windows on your machine or to manually install the required dependencies.
Make sure you have installed:
- .NET Core SDK (2.0 or newer)
- Mono
- Docker
Because some projects target the desktop framework and of this bug, you'll need this workaround to make the build work.
This project makes use of git submodules. This means that in order to start developing on this project, you should either clone this repository with the --recurse-submodules
option or run the following commands in the cloned repository:
git submodule init
git submodule update
The tests require the dependencies specified in docker-compose.yaml
to be running on the same machine.
For this you need to have docker installed on your machine, and to start the dependencies with ./build.sh --target=dockerup
.
To build and run the tests on Windows:
./build.ps1
Or on Unix systems:
./build.sh
- Datadog APM documentation
- Datadog - Tracing .NET Applications
- OpenTracing documentation
- OpenTracing terminology
If you have questions, feedback, or feature requests, reach our support.