observability-edot-dotnet-migrate

Migrate .NET apps from Elastic APM to EDOT SDK with OpenTelemetry.

31|4|Updated Feb 24, 2026
One-click install
npx skills add https://github.com/elastic/cursor-plugins --skill observability-edot-dotnet-migrate
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: observability-edot-dotnet-migrate
Source: https://github.com/elastic/cursor-plugins/tree/main/elastic/skills/observability/edot-dotnet-migrate
Command: npx skills add https://github.com/elastic/cursor-plugins --skill observability-edot-dotnet-migrate

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Migrate .NET applications from the Elastic APM to the EDOT .NET SDK to enable OpenTelemetry instrumentation and centralized telemetry with modern tooling.

Core Features & Use Cases

  • Migrate dependencies from Elastic.Apm.* packages to Elastic.OpenTelemetry to standardize telemetry collection.
  • Update startup code to register EDOT telemetry in the host builder (Program.cs or startup files).
  • Use-case: Modernize an ASP.NET Core or console app to emit traces, metrics, and logs via EDOT to a central collector.

Quick Start

Replace Elastic.Apm.* packages with Elastic.OpenTelemetry, wire up EDOT in startup, and configure OTLP endpoint as described in the migration guide.

Frequently Asked Questions about observability-edot-dotnet-migrate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a .NET application from Elastic APM to OpenTelemetry?

To migrate from Elastic APM to OpenTelemetry, you remove Elastic.Apm.* packages, add Elastic.OpenTelemetry and OpenTelemetry.Instrumentation.* packages, and register EDOT telemetry in your application's host builder startup code.

What is the EDOT .NET SDK used for in telemetry migration?

The EDOT .NET SDK standardizes telemetry collection by replacing Elastic APM with OpenTelemetry instrumentation, enabling your ASP.NET Core or console apps to emit traces, metrics, and logs to a central collector.

Which environment variables are required to configure EDOT .NET telemetry?

Configuring EDOT .NET telemetry requires setting three specific environment variables in your application to define the OTLP endpoint and establish centralized telemetry transmission.

Can I use the EDOT SDK migration process for a .NET console app?

Yes, the EDOT SDK migration process supports both ASP.NET Core and console applications, handling package replacements and startup wiring to transition them to OpenTelemetry instrumentation.

What are the limitations when modernizing .NET apps with the EDOT SDK?

Migrating to the EDOT SDK requires removing existing Elastic.Apm packages and specifically wiring the host builder in Program.cs, meaning apps not using standard startup patterns may need manual code adjustments.

Does migrating to EDOT replace Elastic APM packages with OpenTelemetry?

Yes, migrating to EDOT replaces Elastic.Apm.* dependencies with Elastic.OpenTelemetry and OpenTelemetry.Instrumentation.* packages to unify telemetry under standard OpenTelemetry tooling.