GitHub
github.com › open-telemetry › opentelemetry-dotnet
GitHub - open-telemetry/opentelemetry-dotnet: The OpenTelemetry .NET Client · GitHub
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).
Starred by 3.7K users
Forked by 888 users
Languages C# 98.5% | PowerShell 1.2%
OpenTelemetry
opentelemetry.io › docs › languages › dotnet
.NET | OpenTelemetry
OpenTelemetry for .NET supports all officially supported versions of .NET and .NET Framework except for .NET Framework 3.5 SP1.
Videos
23:38
Getting Started with OpenTelemetry in .NET - YouTube
56:53
Distributed Tracing in .NET 6 using OpenTelemetry - Martin Thwaites ...
26:16
OpenTelemetry with Minimal APIs in .NET 6 - YouTube
32:54
OpenTelemetry in .NET Explained - YouTube
18:07
Using OpenTelemetry for distributed tracing in microservices ...
46:00
Exploring distributed tracing with ASP NET Core 6 - YouTube
Edge Delta
docs.edgedelta.com › instrument-dotnet-otel
.NET 6+ OpenTelemetry Instrumentation | C# Step-by-Step Tutorial | Edge Delta Documentation
using OpenTelemetry; using OpenTelemetry.Exporter; using OpenTelemetry.Resources; using OpenTelemetry.Trace; using OpenTelemetry.Metrics; using OpenTelemetry.Logs; var builder = WebApplication.CreateBuilder(args); // Configure resource attributes var serviceName = "my-dotnet-service"; var serviceVersion = "1.0.0"; // Add OpenTelemetry services builder.Services.AddOpenTelemetry() .ConfigureResource(resource => resource .AddService( serviceName: serviceName, serviceVersion: serviceVersion) .AddAttributes(new Dictionary<string, object> { ["deployment.environment"] = "production", ["service.namesp
OpenTelemetry
opentelemetry.io › docs › languages › dotnet › getting-started
Getting Started | OpenTelemetry
August 12, 2025 - If you are not using a minimal API with ASP.NET Core, that’s OK — you can use OpenTelemetry .NET with other frameworks as well. For a complete list of libraries for supported frameworks, see the registry. For more elaborate examples, see examples. To begin, set up an environment in a new directory called dotnet-simple.
Grafana
grafana.com › docs › opentelemetry › instrument › grafana-dotnet
Instrument a .NET application | OpenTelemetry documentation
These opinionated guides make it easy to get started. They include all the binaries, configuration, and connection parameters you need to set up OpenTelemetry for Grafana Cloud. Ensure you have a .NET development environment and an application using .NET 6+ or .NET Framework version 4.6.2 or higher.
Microsoft Learn
learn.microsoft.com › en-us › dotnet › core › diagnostics › observability-with-otel
.NET Observability with OpenTelemetry - .NET | Microsoft Learn
Add the ServiceDefaults project to the solution using Add New Project in Visual Studio, or use dotnet new aspire-servicedefaults --output ServiceDefaults. Reference the ServiceDefaults project from your ASP.NET application. In Visual Studio use Add > Project Reference and select the ServiceDefaults project. Call its OpenTelemetry setup function as part of your application builder initialization.
GitHub
github.com › open-telemetry › opentelemetry-dotnet-contrib › blob › main › src › OpenTelemetry.Instrumentation.AspNetCore › README.md
opentelemetry-dotnet-contrib/src/OpenTelemetry.Instrumentation.AspNetCore/README.md at main · open-telemetry/opentelemetry-dotnet-contrib
This repository contains set of components extending functionality of the OpenTelemetry .NET SDK. Instrumentation libraries, exporters, and other components can find their home here. - open-telemet...
Author open-telemetry
OpenTelemetry
opentelemetry.io › docs › languages › dotnet › instrumentation
Instrumentation | OpenTelemetry
January 14, 2026 - If you prefer to use OpenTelemetry APIs instead of System.Diagnostics APIs, you can refer to the OpenTelemetry API Shim docs for tracing. This page uses a modified version of the example app from Getting Started to help you learn about manual instrumentation. You don’t have to use the example app: if you want to instrument your own app or library, follow the instructions here to adapt the process to your own code. .NET SDK 6+ To begin, set up an environment in a new directory called dotnet-otel-example.
OpenTelemetry
opentelemetry.io › docs › zero-code › dotnet › instrumentations
Available instrumentations | OpenTelemetry
3 weeks ago - [9]: RabbitMq.Client needs bytecode instrumentation only for 5.* and 6.* versions, 7.0.0+ uses only source instrumentation.
Stack Overflow
stackoverflow.com › questions › 77968255 › net-6-opentelemetry-http-metrics
asp.net core - .NET 6 Opentelemetry HTTP metrics - Stack Overflow
I have an application running in .NET6 and I would like to integrate it with OpenTelemetry for metrics gathering. Documentation I'm following is: https://github.com/open-telemetry/opentelemetry-dot...
Microsoft Learn
learn.microsoft.com › en-us › dotnet › core › diagnostics › observability-prgrja-example
Example: Use OpenTelemetry with Prometheus, Grafana, and Jaeger - .NET | Microsoft Learn
The API definition doesn't use anything specific to OpenTelemetry. It uses the .NET APIs for observability. Use the NuGet Package Manager or command line to add the following NuGet packages: dotnet add package OpenTelemetry.Exporter.Console dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol dotnet add package OpenTelemetry.Exporter.Prometheus.AspNetCore --prerelease dotnet add package OpenTelemetry.Exporter.Zipkin dotnet add package OpenTelemetry.Extensions.Hosting dotnet add package OpenTelemetry.Instrumentation.AspNetCore dotnet add package OpenTelemetry.Instrumentation.Http
OpenTelemetry
opentelemetry.io › docs › zero-code › dotnet › configuration
Configuration and settings | OpenTelemetry
3 weeks ago - [2] Notice that applications launched via dotnet MyApp.dll have process name dotnet or dotnet.exe. A resource is the immutable representation of the entity producing the telemetry. See Resource semantic conventions for more details. The following resource detectors are included and enabled by default: Propagators allow applications to share context. See the OpenTelemetry specification for more details.
Reddit
reddit.com › r/dotnet › opentelemetry
r/dotnet on Reddit: OpenTelemetry
January 3, 2024 -
I was told to use open telemetry to instrument telemetry data in our asp.net core application.
I don't know how (or what exactly) to properly collect/emit in the application (single monolith).
All the examples from the docs and the internet are very basic.
Adding (registering) necessary instrumentation libraries should be enough, right? Are they expecting me to to add necessary instrumentation libraries for http, sql queries, service bus, etc.?
And I can manually instrument traces when necessary
Top answer 1 of 5
4
OpenTelemetry provides you tracing and metrics on the application side. You need to specify what kind of traces and metrics you want to see by registering instrumentations: http server, http client, ef core, npgsql, redis, etc. In order to analyse them you need collectors like Prometheus for metrics and Jaeger for tracing (there are other alternatives). Metrics are usually exposed via an endpoint which returns all recorded metrics in Prometheus format. Traces are usually sent via OTLP protocol to the collector. So for a typical microservice deployed to kubernetes it will look like this: You expose metrics at “app:1234/metrics” using OpenTelemetry and infrastructure will poll this endpoint and send metrics to Prometheus You add Jaeger OTLP receiver endpoint to app configs and use OpenTelemetry to send traces to Jaeger. How to test it locally? Spin up jaeger-all-in-one docker container and try to send traces locally (run some http requests, traces will be sent automatically): you should be able to see them in the ui. For metrics just call a metrics endpoint.
2 of 5
2
Fwiw sounds like you’re being set up to fail and you should clarify those questions with them.
Microsoft
devblogs.microsoft.com › dev blogs › .net blog › opentelemetry .net reaches v1.0
OpenTelemetry .NET reaches v1.0 - .NET Blog
March 19, 2021 - If you are not a library author, you can skip this section. Popular libraries in the .NET ecosystem (ASP.NET Core, grpc-dotnet, SQLClient) are already instrumented and ready for to you consume observability telemetry. The System.Diagnostics APIs in .NET contain an implementation of the OpenTelemetry API specification.
GitHub
github.com › open-telemetry › opentelemetry-dotnet-instrumentation
GitHub - open-telemetry/opentelemetry-dotnet-instrumentation: OpenTelemetry .NET Automatic Instrumentation · GitHub
OpenTelemetry .NET Automatic Instrumentation should work with all officially supported operating systems and versions of .NET. The minimal supported version of .NET Framework is 4.6.2. ... Instrumenting self-contained applications is supported through NuGet packages. Note that a self-contained application is automatically generated in .NET 7+ whenever the dotnet ...
Starred by 454 users
Forked by 133 users
Languages C++ 52.8% | C# 32.1% | C 14.4% | Assembly 0.2% | CMake 0.1% | Perl 0.1%