Distributed Tracing & Open Telemtry¶
π Resources¶
- Awesome OpenTelemetry - A curated list of OpenTelemetry resources
 - open-telemetry/semantic-conventions - Defines standards for generating consistent, accessible telemetry across a variety of domains
 
π Articles¶
- What is OpenTelemetry? - opentelemetry.io
 - OpenTelemetry Specification Overview - opentelemetry.io
 - OpenTelemetry Specification - opentelemetry.io
 - Trace Semantic Conventions - opentelemetry.io
 - Baggage in OpenTelemetry - opentelemetry.io
 - Tracing in OpenTelemetry - opentelemetry.io
 - Metrics in OpenTelemetry - opentelemetry.io
 - Getting Started - opentelemetry.io
 - Using instrumentation libraries - opentelemetry.io
 - Manual Instrumentation - opentelemetry.io
 - Exporters - opentelemetry.io
 - Collect a distributed trace
 - NET distributed tracing concepts
 - Adding distributed tracing instrumentation
 - OpenTelemetry .NET API
 - Getting Started with OpenTelemetry .NET in 5 Minutes
 - OpenTelemetry .NET SDK
 - Extending the OpenTelemetry .NET SDK
 - Customizing OpenTelemetry .NET SDK
 - EventSource Userβs Guide
 - DiagnosticSource User’s Guide
 - Activity User Guide
 - Improve Activity API usability and OpenTelemetry integration
 - Improve Activity API usability and OpenTelemetry integration (Part 2)
 - The TraceEvent Library Programmers Guide
 - Messaging Attributes Conventions)
 - Semantic conventions for HTTP spans
 - Semantic conventions for RPC spans
 - The Big Pieces: OpenTelemetry specification
 - The Big Pieces: OpenTelemetry context propagation
 - The Big Pieces: OpenTelemetry client design and architecture
 - The Big Pieces: OpenTelemetry Collector design and architecture
 - Using W3C Trace Context standard in distributed tracing
 - Building End-to-End Diagnostics and Tracing: An Intro
 - Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 1 - Distributed Tracing
 - Distributed Tracing in ASP.NET Core with Jaeger and Tye Part 2 - Project Tye
 - Getting Started with OpenTelemetry .NET C#
 - OpenTelemetry .NET reaches v1.0
 - Deep Dive into Open Telemetry for .NET
 - Open Telemetry for ASP.NET Core
 - Exporting Open Telemetry Data to Jaeger
 - OpenTracing and C#
 - OpenTracing and C#: part 2
 - Getting started with OpenTelemetry and distributed tracing in .NET Core
 - Distributed Tracing with OpenTracing API of .NET Core Applications on Kubernetes
 - How Distributed Tracing Solves One of the Worst Microservices Problems
 - Why You Should be Paying Attention to OpenTracing
 - The Current State of OpenTelemetry in .NET
 - Improvements in .NET Core 3.0 for troubleshooting and monitoring distributed apps
 - ASP.NET Core Apps Observability
 - A Step by Step Guide to Logging in ASP.NET Core 5
 - Diagnostics in .Net Core 3: Listening to outbound HTTP requests
 - Trace Context
 - Propagation format for distributed trace context: Baggage
 - Using Jaeger and OpenTelemetry SDKs in a mixed environment with W3C Trace-Context
 - Distributed Tracing In .NET
 - Diagnostics Improvements in .NET Core 3.0
 - Distributed Tracing with gRPC and OpenTelemetry
 - Introducing diagnostics improvements in .NET Core 3.0
 - Using the DiagnosticSource in .NET Core: Theory
 - Add SkyWalking + SkyApm-dotnet distributed link tracking system to the microservice framework Demo.MicroServer
 - Asp.Net Core uses Skywalking to implement distributed link tracking
 - ASP.NET Core Apps Observability
 - OpenTelemetry in .NET
 - Increasing Trace Cardinality with Activity Tags and Baggage
 - Monitoring a .NET application using OpenTelemetry
 - What is the difference between Logging, Tracing & Profiling?
 - Fullstack app (workshop) with distributed tracing, logging and monitoring
 - OpenTelemetry in .NET
 - Distributed tracing for messaging application
 - Distributed application with Project Tye
 - Tracing for messaging application
 - Optimally Configuring Open Telemetry Tracing for ASP.NET Core
 - OpenTelemetry in Action: Optimizing Database Operations
 - OpenTelemetry in Action: Identifying Database Dependencies
 - Just-in-Time Nomad: Running the OpenTelemetry Collector on Hashicorp Nomad with HashiQube
 - How to setup OpenTelemetry instrumentation in ASP.NET core
 - What is OpenTelemetry?
 - Getting started with OpenTelemetry Metrics in .NET. Part 1: Key concepts β
 - Getting started with OpenTelemetry Metrics in .NET. Part 2: Instrumenting the BookStore API β
 - OpenTelemetry Distributed Tracing
 - OpenTelemetry Tracing API for .NET
 - Set up OpenTelemetry with Event Sourcing and Marten
 - Automatic Instrumentation of Containerized .NET Applications With OpenTelemetry β
 - Instrumenting .NET Apps with OpenTelemetry
 - Observability with Grafana Cloud and OpenTelemetry in .net microservices β
 - Observing .NET microservices with OpenTelemetry - logs, traces and metrics β
 - Supporting Jaeger with native OTLP
 - OTLP Specification 1.0.0
 - Introducing native support for OpenTelemetry in Jaeger
 - .NET Aspire dashboard is the best tool to visualize your OpenTelemetry data during local development
 - Trace Propagation and Public API Endpoints in .NET β Part 1 (Disable All)
 - Where are my traces? (weird .NET meets OpenTelemetry gotcha)
 - Monitoring Unit Tests with OpenTelemetry in .NET
 - Automated Tests instrumentation via OpenTelemetry and Aspire Dashboard
 - A Beginner’s Guide to the OpenTelemetry Collector β
 
πΊ Videos¶
- Jimmy Bogard - Distributed Tracing Made Easy with .NET Core and OpenTelemetry
 - On .NET Live - Cloud Native Patterns for .NET Developers
 - Distributed Tracing Made Easy with .NET Core - Jimmy Bogard
 - Distributed Tracing Made Easy with .NET 5, with Jimmy Bogard
 - Distributed Tracing with .NET 5
 - ASP.NET Core Series: Tracing
 - Distributed Tracing with Jaeger [Microservices .NET]
 - Application Diagnostics in .NET Core 3.1 - Damian Edwards & David Fowler
 - DiagnosticSource and Activity, Tracing in .NET Part 1 - .NET Concept of the Week - Episode 18
 - Tracing with Jaeger and Kubernetes
 - Exploring distributed tracing with ASP NET Core 6
 - OpenTelemetry with Minimal APIs in .NET 6
 - OpenTelemetry will save your day and night - Alexey Zimarev - NDC Oslo 2021
 - OpenMetrics, OpenTracing, OpenTelemetry - are we there yet? - Alexey Zimarev - NDC Oslo 2020
 - MassTransit v8 - Open Telemetry
 - .NET Diagnostics for Applications: Best Practices
 - Distributed Tracing in .NET 6 using OpenTelemetry - Martin Thwaites - NDC Copenhagen 2022
 - Cloud-native development with .NET 8 | Microsoft Build 2023
 - Practical OpenTelemetry for .NET - Martin Thwaites - NDC Oslo 2023
 - Getting started with the OpenTelemetry Collector
 
π¦ Libraries¶
- SkyAPM/SkyAPM-dotnet - The .NET/.NET Core instrument agent for Apache SkyWalking
 - opentracing-contrib/csharp-netcore - OpenTracing instrumentation for .NET Core & .NET 5 apps
 - jaegertracing/jaeger-client-csharp - C# client (tracer) for Jaeger
 - open-telemetry/opentelemetry-dotnet - The OpenTelemetry .NET Client
 - SkyAPM/SkyAPM-dotnet - The .NET/.NET Core instrument agent for Apache SkyWalking
 - jbogard/MongoDB.Driver.Core.Extensions.DiagnosticSources - extends the core MongoDB C# driver to expose telemetry information via System.Diagnostics.
 - jbogard/NServiceBus.Extensions.Diagnostics.OpenTelemetry
 - jbogard/MongoDB.Driver.Core.Extensions.DiagnosticSources
 - 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-telemetry/opentelemetry-dotnet/OpenTelemetry.Exporter.InMemory - The in-memory exporter stores data in a user provided memory buffer.
 - alexvaluyskiy/prometheus-net-contrib - Exposes .NET core diagnostic listeners and counters
 - open-telemetry/opentelemetry-collector-contrib - Contrib repository for the OpenTelemetry Collector
 - open-telemetry/opentelemetry-collector/ - OpenTelemetry Collector
 - grafana/grafana-opentelemetry-dotnet - Grafana’s distribution of OpenTelemetry instrumentation for .NET
 
π Samples¶
- karlospn/opentelemetry-tracing-demo - Example about how to use OpenTelemetry for tracing when we have a series of distributed applications communicating between them
 - jbogard/nsb-diagnostics-poc
 - open-telemetry/opentelemetry-dotnet/examples
 - damikun/trouble-training - FullStack app workshop with distributed tracing and monitoring. This shows the configuration from React frontend to .NetCore backend.
 - andreatosato/Photobook
 - rafaelldi/open-telemetry-in-dotnet - Sample project for the article about OpenTelemetry in .NET
 - rafaelldi/distributed-tracing-for-messaging - Sample project for the article about distributed tracing in messaging application
 - thangchung/practical-opentelemetry - Make OpenTelemetry works on .NET Core with features such as tracing, logs and metrics on multiple protocols like HTTP/gRPC/UDP/TCP…
 - jbogard/presentations/DistributedTracing
 - james-world/oxford-otel-demo
 - hashicorp/nomad-open-telemetry-getting-started - OpenTelemetry getting started guides on Nomad
 - open-telemetry/opentelemetry-collector-contrib/nomad
 - open-telemetry/opentelemetry-collector-contrib/examples/demo
 - joaofbantunes/ExploringDistributedTracingWithAspNet
 - davidfowl/TodoApi
 - oskardudycz/EventSourcing.NetCore
 - Eventuous/eventuous
 - kimcuhoang/practical-net-otelcollector β - Practical .NET Observability with OpenTelemetry Collector
 - cecilphillip/grafana-otel-dotnet β - Sample setup showing ASP.NET Core observability with Prometheus, Loki, Grafana, Opentelemetry Collector
 - bradygaster/dotnet-cloud-native-build-2023
 - bravecobra/emojivoto-dotnet
 - davidfowl/OtlpDemo β
 - JamesNK/aspnetcore-grafana - Grafana dashboards for ASP.NET Core metrics
 - joaofbantunes/DotNetMicroservicesObservabilitySample - Sample application looking into observability of .NET microservices, using popular tools and technologies like OpenTelemetry, Prometheus, Grafana and (potentially) others
 - open-telemetry/opentelemetry-demo β - This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.
 - open-telemetry/opentelemetry-collector-contrib/examples/demo