Practical OpenTelemetry in .NET 8
summary
Practical steps for .NET 8 OpenTelemetry with concrete tradeoffs and tools: use coded instrumentation over auto-instrumentation for intentional context, add resource attributes at startup, and prefer activity-based spans with extension helpers. Examples include instrumentation libraries for SQL, HTTP, Kafka and Redis, a real case producing 100,000 spans a second, and local debugging with the .NET Aspire dashboard. Sampling options are explained with head and tail sampling and a 5s tail delay tradeoff. Exporters include Honeycomb’s free tier of 20 million events per month.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 1:11What is observability and why it matters
- 3:40Customer expectations and culture
- 7:09OpenTelemetry as standard
- 9:15Core signals: traces metrics logs
- 14:09Auto vs coded instrumentation
- 17:44OpenTelemetry setup in .NET 8
- 18:25Resource attributes importance
- 19:48Instrumentation libraries for .NET
- 23:03Metrics with OpenTelemetry in .NET
- 26:38Tracing with spans and activities
- 30:29Adding context to spans
- 31:30Manual spans for performance
- 32:54Avoiding magic strings
- 34:23Span creation best practices
- 39:10Span events use cases
- 42:00Span links for causality
- 44:13Introduction to .NET Aspire
- 47:02Processors for telemetry
- 49:12Baggage usage safely
- 53:11Sampling strategies
- 57:50OpenTelemetry and .NET future
- 59:16Resources and community
related talks
01h 01mPractical OpenTelemetry for .NET
01h 00mPractical OpenTelemetry for .NET
59mOpenTelemetry will save your day and night
01h 00mPractical OpenTelemetry in Javascript/Typescript
51mOpenTelemetry tracing for .NET developers
56mGetting started with OpenTelemetry in .NET
01h 04mOpenTelemetry in a Brownfield World
22mOpen Telemetry for API Monitoring
