OpenTelemetry .NET Automatic Instrumentation
Go to file
Lucas Pimentel-Ordyna 16f72c51a2
use fixed SDK version instead of latest (#854)
2020-08-13 11:03:34 -04:00
.azure-pipelines use fixed SDK version instead of latest (#854) 2020-08-13 11:03:34 -04:00
.github Add "contact support" details to bug report template (#825) 2020-07-28 10:50:18 -04:00
benchmarks/Benchmarks.Trace BenchmarkDotNet integration (#817) 2020-08-04 18:42:16 +02:00
customer-samples Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
deploy/Datadog.Trace.ClrProfiler.WindowsInstaller Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
docker Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
docs README home directory command inaccurate (#732) 2020-05-19 14:52:44 -04:00
lib/coreclr/src Update CoreCLR headers from dotnet/coreclr:release/3.0 (#524) 2019-10-28 12:43:09 -07:00
performance Azure App Services Site Extension (#577) 2020-02-05 12:08:42 -05:00
reproduction-dependencies [ClrProfiler] Allow automatic instrumentation of domain-neutral assemblies to work safely (#750) 2020-06-22 15:41:23 -07:00
reproductions Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
sample-libs Fix Linux integration-tests build for projects referencing Samples.DatabaseHelper.netstandard (#815) 2020-07-22 10:24:04 -07:00
samples Improve HttpClient and WebClient sample to test all public API methods (#830) 2020-08-07 16:06:54 -07:00
samples-aspnet Add status code support for ASP.NET MVC/WebAPI (#807) 2020-07-21 13:39:17 -07:00
samples-iis [Profiler] Prevent IIS LoaderOptimization startup issue (#713) 2020-04-29 16:28:37 -07:00
src Fix error handling when sending traces to the agent (#850) 2020-08-13 11:51:34 +02:00
test Fix "System.Runtime.Remoting.RemotingException: Object /xxx/xxx.rem has been disconnected or does not exist at the server." (#822) 2020-08-11 16:17:36 -07:00
tools Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
.clang-format reformat, use c++ 17, add tests 2018-08-20 08:03:42 -04:00
.dockerignore [Profiler] Prevent IIS LoaderOptimization startup issue (#713) 2020-04-29 16:28:37 -07:00
.editorconfig remove UTF-8 BOM setting from EditorConfig settings 2018-05-09 13:52:16 -04:00
.env run tests on .NET Core 3.1 (#601) 2020-01-15 11:01:35 -05:00
.gitattributes keep linux (lf) line endings in bash scripts (#183) 2018-10-29 16:52:33 -04:00
.gitignore Azure App Services Site Extension (#577) 2020-02-05 12:08:42 -05:00
Datadog.Trace.Minimal.sln msbuild logger integration (#811) 2020-08-04 09:38:20 +02:00
Datadog.Trace.Native.sln [Windows] Eager assembly load of managed profiler code (#462) 2019-08-12 15:30:05 -07:00
Datadog.Trace.proj msbuild logger integration (#811) 2020-08-04 09:38:20 +02:00
Datadog.Trace.sln Improve HttpClient and WebClient sample to test all public API methods (#830) 2020-08-07 16:06:54 -07:00
Datadog.Trace.sln.DotSettings Fix "runtime description" used for internal analytics (#519) 2019-10-04 16:32:23 -04:00
Datadog.Trace.snk Initial Profiler API implementation (#47) 2018-06-18 17:01:11 -04:00
Directory.Build.props clean up project settings (#565) 2019-11-21 18:05:49 -05:00
GlobalSuppressions.cs Colin/apply safe version ranges (#341) 2019-05-14 16:30:30 -04:00
LICENSE recreate LICENSE file 2019-05-20 14:01:52 -04:00
LICENSE-3rdparty.csv Vendor MessagePack 1.9.3 (#806) 2020-07-27 14:58:39 -07:00
NOTICE Standardize copyright information across the repo (#794) 2020-07-22 13:01:37 -07:00
PackageVersionsComprehensive.g.props CI: Test against the desired package version in the Integrations tests (#751) 2020-06-16 14:31:48 -07:00
PackageVersionsGeneratorDefinitions.json CI: Test against the desired package version in the Integrations tests (#751) 2020-06-16 14:31:48 -07:00
PackageVersionsLatestMinors.g.props CI: Test against the desired package version in the Integrations tests (#751) 2020-06-16 14:31:48 -07:00
Test.Common.props ADO.NET instrumentation improvements/fixes (#753) 2020-07-20 22:14:01 -04:00
azure-pipelines.yml dummy edit to try to trigger CI pipeline (#844) 2020-08-07 09:52:10 -04:00
createLogPath.sh Make createLogPath.sh executable (#804) 2020-07-23 13:29:35 -04:00
datadog-logo-64x64.png migrate to new NuGet package "PackageIcon" (#574) 2019-11-26 20:19:45 -05:00
datadog-logo-256x256.png migrate to new NuGet package "PackageIcon" (#574) 2019-11-26 20:19:45 -05:00
devenv.bat Update iis calculation to use correct iisexpress.exe process name. (#778) 2020-07-02 12:19:59 -07:00
docker-compose.yml CI: Test against the desired package version in the Integrations tests (#751) 2020-06-16 14:31:48 -07:00
git-clean.cmd Integrations: access properties and fields (#235) 2019-01-14 17:28:11 -05:00
integrations.json Merge release/1.19.1 into master (#851) 2020-08-11 13:19:32 -04:00
pre-build-events-cpp.bat CI does not use consistent paths for $(SolutionDir) (#332) 2019-04-26 09:49:51 -04:00
stylecop.json do not suppress xml documentation warnings in `src/` (but add a few temporary exclusions) 2018-05-09 14:56:43 -04:00

docs/README.md

.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.
rem Valid values for property `Platform` are `x64`, `x86`, and `All`.
msbuild Datadog.Trace.proj /t:CreateHomeDirectory /p:Configuration=Release;Platform=All

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.