opentelemetry-dotnet is a free, open source monitoring & observability project written in C# and released under Apache-2.0. It has 3,753 GitHub stars, 902 forks and 143 open issues, and was last pushed 45 minutes ago. On this registry it ranks #106 of 191 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

OpenTelemetry .NET

Slack codecov.io Nuget NuGet Build

OpenSSF Scorecard OpenSSF Best Practices FOSSA License Status FOSSA Security Status

The .NET OpenTelemetry implementation.

Table of Contents

Supported .NET versions

Packages shipped from this repository generally support all the officially supported versions of .NET and .NET Framework (an older Windows-based .NET implementation), except .NET Framework 3.5. Any exceptions to this are noted in the individual README.md files.

Project status

Stable across all 3 signals (Logs, Metrics, and Traces).

[!CAUTION] Certain components, marked as pre-release, are still work in progress and can undergo breaking changes before stable release. Check the individual README.md file for each component to understand its current state.

To understand which portions of the OpenTelemetry Specification have been implemented in OpenTelemetry .NET see: Spec Compliance Matrix.

Getting started

If you are new here, please read the getting started docs:

Getting started with Logging

If you are new to logging, it is recommended to first follow the getting started in 5 minutes - ASP.NET Core Application guide or the getting started in 5 minutes - Console Application guide to get up and running.

For general information and best practices see: OpenTelemetry .NET Logs. For a more detailed explanation of SDK logging features see: Customizing OpenTelemetry .NET SDK for Logs.

Getting started with Metrics

If you are new to metrics, it is recommended to first follow the getting started in 5 minutes - ASP.NET Core Application guide or the getting started in 5 minutes - Console Application guide to get up and running.

For general information and best practices see: OpenTelemetry .NET Metrics. For a more detailed explanation of SDK metric features see: Customizing OpenTelemetry .NET SDK for Metrics.

Getting started with Tracing

If you are new to traces, it is recommended to first follow the getting started in 5 minutes - ASP.NET Core Application guide or the getting started in 5 minutes - Console Application guide to get up and running.

For general information and best practices see: OpenTelemetry .NET Traces. For a more detailed explanation of SDK tracing features see: Customizing OpenTelemetry .NET SDK for Tracing.

Repository structure

This repository includes only what is defined in the OpenTelemetry Specification and is shipped as separate packages through NuGet. Each component has an individual README.md and CHANGELOG.md file which covers the instructions on how to install and get started, and details about the individual changes made (respectively). To find all the available components, please take a look at the src folder.

Here are the most commonly used components:

Here are the exporter libraries:

Additional packages including instrumentation libraries, exporters, resource detectors, and extensions can be found in the opentelemetry-dotnet-contrib repository and/or the OpenTelemetry registry.

Troubleshooting

For general instructions see: Troubleshooting. Additionally README.md files for individual components may contain more detailed troubleshooting information.

Extensibility

OpenTelemetry .NET is designed to be extensible. Here are the most common extension scenarios:

Releases

For details about upcoming planned releases see: Milestones. The dates and features described in issues and milestones are estimates and subject to change.

For highlights and announcements for stable releases see: Release Notes.

To access packages, source code, and/or view a list of changes for all components in a release see: Releases.

Nightly builds from th

readme truncated — read the full docs on github

Frequently asked questions

Is opentelemetry-dotnet free to use?

opentelemetry-dotnet is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does opentelemetry-dotnet do?

The OpenTelemetry .NET Client

What is opentelemetry-dotnet written in?

opentelemetry-dotnet is primarily written in C#. Its source is publicly available at https://github.com/open-telemetry/opentelemetry-dotnet, and it has 3,753 GitHub stars.