OpenTelemetry .NET
The .NET OpenTelemetry client.
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
Signal | Status |
---|---|
Logs | Stable* |
Metrics | Stable |
Traces | Stable |
*While the OpenTelemetryLoggerProvider
(i.e integration with ILogger
) is
stable, the OTLP Exporter for
Logs
is still non-stable.
See Spec Compliance Matrix to understand which portions of the specification has been implemented in this repo.
Getting Started
If you are new here, please read the getting started docs:
- Logs: Console
- Metrics: ASP.NET Core | Console
- Traces: ASP.NET Core | Console
This repository includes multiple installable components, available on
NuGet. Each component has its
individual README.md
file, which covers the instruction on how to install and
how to get started. To find all the available components, please take a look at
the src
folder.
Here are the most commonly used components:
Here are the instrumentation libraries:
Here are the exporter libraries:
- Console
- In-memory
- Jaeger
- OTLP (OpenTelemetry Protocol)
- Prometheus AspNetCore
- Prometheus HttpListener
- Zipkin
See the OpenTelemetry registry and OpenTelemetry .NET Contrib repo for more components.
Troubleshooting
See Troubleshooting. Additionally check readme file for the individual components for any additional troubleshooting information.
Extensibility
OpenTelemetry .NET is designed to be extensible. Here are the most common extension scenarios:
- Building a custom instrumentation library.
- Building a custom exporter for logs, metrics and traces.
- Building a custom processor for logs and traces.
- Building a custom sampler for traces.
Contributing
See CONTRIBUTING.md
We meet weekly on Tuesdays, and the time of the meeting alternates between 11AM PT and 4PM PT. The meeting is subject to change depending on contributors' availability. Check the OpenTelemetry community calendar for specific dates and for Zoom meeting links.
Meeting notes are available as a public Google doc. If you have trouble accessing the doc, please get in touch on Slack.
Maintainers (@open-telemetry/dotnet-maintainers):
- Alan West, New Relic
- Mikel Blanchard, Microsoft
- Utkarsh Umesan Pillai, Microsoft
Approvers (@open-telemetry/dotnet-approvers):
- Cijo Thomas, Microsoft
- Reiley Yang, Microsoft
- Robert PajΔ k, Splunk
- Vishwesh Bankwar, Microsoft
Emeritus Maintainer/Approver/Triager:
Thanks to all the people who have contributed
Release Schedule
Only the core components of the repo have released a stable version. Components which are marked pre-release, are still work in progress and can undergo many breaking changes before stable release.
See the release notes for existing releases.
See the project milestones for details on upcoming releases. The dates and features described in issues and milestones are estimates, and subject to change.
Daily builds from this repo are published to MyGet, and can be installed from this source.