OpenTelemetry .NET is the official .NET implementation of the OpenTelemetry standard, providing comprehensive observability capabilities for .NET and .NET Framework applications. Written in C#, the project delivers a complete SDK for instrumenting applications with distributed tracing, metrics collection, and structured logging—the three core telemetry signals defined by the OpenTelemetry specification. The project maintains stable status across all three signals, though certain pre-release components may still undergo breaking changes before reaching full stability.
The repository supports all officially supported versions of .NET and .NET Framework except .NET Framework 3.5, making it broadly compatible with modern and legacy Windows-based .NET deployments. The project is organized around a modular architecture where components are shipped as separate NuGet packages, allowing developers to adopt only the functionality they need. Core components include the OpenTelemetry API, the main SDK, and hosting extensions for dependency injection scenarios. The project provides multiple exporter libraries for sending telemetry data to various backends: Console and in-memory exporters for development and testing, the OpenTelemetry Protocol (OTLP) exporter for standards-compliant backends, Prometheus exporters for metrics collection via both AspNetCore and HttpListener transports, and a deprecated Zipkin exporter for distributed tracing.
The repository emphasizes extensibility, enabling developers to build custom instrumentation libraries, exporters for any of the three signals, processors for logs and traces, and samplers for traces. Getting started guides are provided for both ASP.NET Core and console applications across all three telemetry domains, with additional documentation covering SDK customization and best practices. The project includes troubleshooting resources and maintains detailed README and changelog files for each individual component.
Activity data reveals substantial ongoing development and maintenance. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript implementations as well as the Rust language project, indicating cross-ecosystem involvement in observability standards.
The project publishes nightly builds to MyGet for early access and maintains a formal release process with published milestones and release notes. Starting with version 1.10.0, all NuGet packages include DLLs digitally signed using Sigstore, with verification possible via the cosign tool. From version 1.14.0 onward, packages include GitHub Artifact attestations for additional supply chain security. The project maintains an active community with weekly meetings alternating between 9AM and 4PM PT on Tuesdays, coordinated through the OpenTelemetry community calendar.