Skip to content

pjanotti/dd-trace-dotnet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.NET Tracer for Datadog APM

Installation and Usage

Please read our documentation for instructions on setting up .NET tracing and details about supported frameworks.

Downloads

Package Download
Windows and Linux Installers See releases
Datadog.Trace Datadog.Trace
Datadog.Trace.OpenTracing Datadog.Trace.OpenTracing

Build Status on master

Pipeline Build Status
Unit tests Build Status
Integration tests Build Status

Development

Components

Datadog Agent: A service that runs on your application servers, accepting trace data from the Datadog Tracer and sending it to Datadog. The Agent is not part of this repo; it's the same Agent to which all Datadog tracers (e.g. Go, Python, Java, Ruby) send data.

Datadog .NET Tracer: This repository. A set of .NET libraries that let you trace any piece of your .NET code. Supports manual instrumentation and can automatically instrument supported libraries out-of-the-box.

Windows

Minimum requirements

Microsoft provides evaluation developer VMs with Windows 10 and Visual Studio pre-installed.

Building from a command line

From a Developer Command Prompt for VS 2019:

rem Restore NuGet packages
rem nuget.exe is required for command line restore because msbuild doesn't support packages.config
rem (see https://github.com/NuGet/Home/issues/7386)
nuget restore Datadog.Trace.sln

rem Build C# projects (Platform: always AnyCPU)
msbuild Datadog.Trace.proj /t:BuildCsharp /p:Configuration=Release

rem Build NuGet packages
dotnet pack src\Datadog.Trace\Datadog.Trace.csproj
dotnet pack src\Datadog.Trace.OpenTracing\Datadog.Trace.OpenTracing.csproj

rem Build C++ projects
rem The native profiler depends on the Datadog.Trace.ClrProfiler.Managed.Loader C# project so be sure that is built first
msbuild Datadog.Trace.proj /t:BuildCpp /p:Configuration=Release;Platform=x64
msbuild Datadog.Trace.proj /t:BuildCpp /p:Configuration=Release;Platform=x86

rem Build MSI installer for Windows x64 (supports both x64 and x86 apps)
msbuild Datadog.Trace.proj /t:msi /p:Configuration=Release;Platform=x64

rem Build MSI installer for Windows x86 (supports x86 apps only)
msbuild Datadog.Trace.proj /t:msi /p:Configuration=Release;Platform=x86

rem Build tracer home directory for Windows (x64 and x86)
msbuild Datadog.Trace.proj /t:CreateHomeDirectory /p:Configuration=Release;Platform=x64

Linux

Minimum requirements

To build C# projects and NuGet packages only

To build everything and run integration tests

Building and running tests with Docker Compose

You can use Docker Compose with Linux containers to build Linux binaries and run the test suites. This works on both Linux and Windows hosts.

# build C# projects
docker-compose run build

# build C++ project
docker-compose run Profiler

# run integration tests
docker-compose run IntegrationTests

Further Reading

Datadog APM

Microsoft .NET Profiling APIs

OpenTracing

Get in touch

If you have questions, feedback, or feature requests, reach our support.

Packages

No packages published

Languages

  • C++ 56.3%
  • C# 20.4%
  • C 17.7%
  • JavaScript 4.5%
  • Assembly 0.3%
  • HTML 0.2%
  • Other 0.6%