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. Across 604 tracked issues and pull requests, the median response latency is 0.0 hours while the mean is 5549.2 hours, indicating rapid initial triage with some longer-running discussions. Enhancement requests dominate the issue tracker with 245 items, followed by 177 bug reports, with the core OpenTelemetry package being the most frequently labeled component at 122 items. The project's most active contributors include martincostello with 755 recorded events, cijothomas with 419 events, and Kielek with 334 events, demonstrating sustained engagement from a core team. 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.