Skip to content

elastic/elastic-otel-dotnet

Repository files navigation

Pull Request Validation

Elastic Distribution of OpenTelemetry .NET

Warning

The Elastic Distribution of OpenTelemetry .NET is not yet recommended for production use. Functionality may be changed or removed in future releases. Alpha releases are not subject to the support SLA of official GA features.

We welcome your feedback! You can reach us by opening a GitHub issue or starting a discussion thread on the Elastic Discuss forum.

The Elastic Distribution of OpenTelemetry .NET (EDOT .NET) provides a zero code change extension of the OpenTelemetry SDK for .NET. EDOT .NET makes it easier to get started using OpenTelemetry in your .NET applications through strictly OpenTelemetry native means, while also providing a smooth and rich out of the box experience with Elastic Observability. It's an explicit goal of this distribution to introduce no new concepts in addition to those defined by the wider OpenTelemetry community.

Note

For more details about OpenTelemetry distributions in general, visit the OpenTelemetry documentation.

With EDOT .NET you have access to all the features of the OpenTelemetry SDK for .NET plus:

  • Access to SDK improvements and bug fixes contributed by the Elastic team before the changes are available upstream in OpenTelemetry repositories.
  • Elastic-specific processors that ensure optimal compatibility when exporting OpenTelemetry signal data to an Elastic backend like an Elastic Observability deployment.
  • Preconfigured collection of tracing and metrics signals, applying some opinionated defaults, such as which sources are collected by default.
  • Ensuring that the OpenTelemetry protocol (OTLP) exporter is enabled by default.

Ready to try out the distro? Follow the step-by-step instructions in Get started.

Install

To get started with the Elastic Distribution of OpenTelemetry .NET, you must add the Elastic.OpenTelemetry NuGet package to your project. This can be achieved by adding the package reference to your project file.

<PackageReference Include="Elastic.OpenTelemetry" Version="<LATEST>" />

Note

Replace the <LATEST> placeholder with the latest available package from NuGet.org.

Read the docs