Zurück zum Ranking

open-telemetry/opentelemetry-dotnet

C#opentelemetry.io

The OpenTelemetry .NET Client

telemetrydistributed-tracingasp-net-coremetricsasp-netopentelemetrynetcoreinstrumentation-librariesiloggeriloggerproviderloggingotlp
Sterne-Wachstum
Sterne
3.7k
Forks
888
Wochenwachstum
Issues
121
1k2k3k
Mai 2019Sept. 2021Feb. 2024Juli 2026
README

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 this repo are published to MyGet, and can be installed using the https://www.myget.org/F/opentelemetry/api/v3/index.json source.

Digital signing

Starting with the 1.10.0 release the DLLs included in the packages pushed to NuGet are digitally signed using Sigstore. Within each NuGet package the digital signature artifacts are placed alongside the shipped DLL(s) in the /lib folder. When a project targets multiple frameworks each target outputs a dedicated DLL and signing artifacts into a sub folder based on the TFM.

The digital signature files share the same name prefix as the DLL to ensure easy identification and association.

To verify the integrity of a DLL inside a NuGet package use the cosign tool from Sigstore:

Version 1.14.0 and later

These versions are using bundle format known from cosign 3.0+.

TAG="core-1.16.0"
cosign verify-blob \
    --bundle OpenTelemetry.dll.sigstore.json \
    --certificate-identity "https://github.com/open-telemetry/opentelemetry-dotnet/.github/workflows/publish-packages-1.0.yml@refs/tags/$TAG" \
    --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
    --use-signed-timestamps \
    OpenTelemetry.dll

[!NOTE] A successful verification outputs Verified OK.

Versions 1.10.0 - 1.14.0-rc.1

These versions are using separate signature and certificate files format known from cosign 2.x.

TAG="core-1.12.0"
cosign verify-blob \
    --signature OpenTelemetry.dll-keyless.sig \
    --certificate OpenTelemetry.dll-keyless.pem \
    --certificate-identity "https://github.com/open-telemetry/opentelemetry-dotnet/.github/workflows/publish-packages-1.0.yml@refs/tags/$TAG" \
    --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
    OpenTelemetry.dll

[!NOTE] A successful verification outputs Verify OK.

For more verification options please refer to the cosign documentation.

Attestation

Starting with the 1.14.0 release the DLLs included in the packages pushed to NuGet are attested using GitHub Artifact attestations.

To verify the attestation of a DLL inside a NuGet package use the GitHub CLI:

gh attestation verify --owner open-telemetry .\OpenTelemetry.dll

[!NOTE] A successful verification outputs Verification succeeded!.

For more verification options please refer to the gh attestation verify documentation.

Contributing

For information about contributing to the project see: CONTRIBUTING.md.

We meet weekly on Tuesdays, and the time of the meeting alternates between 9AM 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 the #otel-dotnet channel on CNCF Slack. If you are new to the CNCF Slack community, you can create an account.

The meeting is open for all to join. We invite everyone to join our meeting, regardless of your experience level. Whether you're a seasoned OpenTelemetry developer, just starting your journey, or simply curious about the work we do, you're more than welcome to participate!

Maintainers

For more information about the maintainer role, see the community repository.

Approvers

For more information about the approver role, see the community repository.

Triagers

For more information about the triager role, see the community repository.

Emeritus

For more information about the emeritus role, see the community repository.

Thanks to all the people who have contributed

contributors

References

Ähnliche Repositories
hagezi/dns-blocklists

DNS-Blocklists: For a better internet - keep the internet clean!

TextGNU General Public License v3.0dnsads
24.6k753
vectordotdev/vector

A high-performance observability data pipeline.

Rustcrates.ioMozilla Public License 2.0logsmetrics
vector.dev
22.2k2.2k
open-telemetry/opentelemetry-collector

OpenTelemetry Collector

GoGo ModulesApache License 2.0opentelemetryopen-telemetry
opentelemetry.io
7.3k2.2k
fleetdm/fleet

Open device management

GoGo ModulesOtherosquerygitops
fleetdm.com
6.6k945
crazy-max/WindowsSpyBlocker

Block spying and tracking on Windows

GoGo ModulesMIT Licensewindowsspy
crazymax.dev/WindowsSpyBlocker/
5.1k387
FormidableLabs/nodejs-dashboard

Telemetry dashboard for node.js apps from the terminal!

JavaScriptnpmMIT Licensenodejstelemetry
3.9k141
builtbybel/privatezilla

👀👮🐢🔥Performs a privacy & security check of Windows 10

C#MIT Licensewindows-10privacy
builtbybel.com/apps/privatezilla
3.7k170
open-telemetry/opentelemetry-js

OpenTelemetry JavaScript Client

TypeScriptnpmApache License 2.0telemetrydistributed-tracing
opentelemetry.io
3.4k1.1k
motiful/cc-gateway

AI API identity gateway — reverse proxy that normalizes device fingerprints and telemetry for privacy-preserving API proxying

TypeScriptnpmMIT Licenseanthropicapi-gateway
3k505
DavidWells/analytics

Lightweight analytics abstraction layer for tracking page views, custom events, & identifying visitors

JavaScriptnpmMIT Licenseanalyticstelemetry
getanalytics.io
2.7k265
flick9000/winscript

Open-source tool to build your Windows script from scratch. It includes debloat, privacy, performance & app installing scripts.

CSSnpmGNU General Public License v3.0bloatwaredebloat
winscript.cc
2.6k164
parseablehq/parseable

Parseable is an open source, unified infrastructure observability platform built in Rust on a data lake architecture. It tracks logs, metrics, traces, and events across apps, agents, and systems, reducing storage costs by up to 90% through columnar telemetry compression.

Rustcrates.ioGNU Affero General Public License v3.0cloud-nativerust
parseable.com
2.4k167