Instrument a .NET application with the Elastic Distribution of OpenTelemetry (EDOT) .NET SDK for automatic tracing, metrics, and logs.
Instrument a .NET application with the Elastic Distribution of OpenTelemetry (EDOT) .NET SDK for automatic tracing, metrics, and logs. Use when adding observability to a .NET service that has no existing APM agent.This is the skill's description: the text your AI reads to decide when the skill applies.
elastic-edot-dotnet-instrument/SKILL.md
---
name: observability-edot-dotnet-instrument
description: >
Instrument a .NET application with the Elastic Distribution of OpenTelemetry (EDOT)
.NET SDK for automatic tracing, metrics, and logs. Use when adding observability
to a .NET service that has no existing APM agent.
metadata:
author: elastic
version: 0.1.0
---
# EDOT .NET Instrumentation
Read the setup guide before making changes:
- [EDOT .NET setup](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/dotnet/setup)
- [EDOT .NET configuration](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/dotnet/configuration)
- [OpenTelemetry .NET instrumentation](https://opentelemetry.io/docs/zero-code/net/)
## Guidelines
1. Add NuGet packages: `Elastic.OpenTelemetry` and `OpenTelemetry.Instrumentation.AspNetCore` (for ASP.NET Core apps)
1. Register EDOT in startup: call `builder.AddElasticOpenTelemetry()` on the `IHostApplicationBuilder` (in `Program.cs`
or equivalent). Without this, no telemetry is collected
1. Set exactly three required environment variables: