observability-edot-python-migrate

Migrate Python applications from Elastic APM to the EDOT agent.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Migrates Python applications from the classic Elastic APM Python agent to the EDOT Python agent, enabling migration to Elastic OpenTelemetry and continued telemetry.

Core Features & Use Cases

  • Remove all classic elastic-apm references from code, configuration, and environment.
  • Install and configure elastic-opentelemetry (EDOT) and bootstrap auto-instrumentation.
  • Instrument the application entrypoint to ensure telemetry is collected across runtimes.

Quick Start

Follow the migration guide to replace elastic-apm with EDOT in your Python project and bootstrap EDOT auto-instrumentation.

Frequently Asked Questions about observability-edot-python-migrate

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

FAQPage Schema
How do I migrate my Python app from Elastic APM to OpenTelemetry?

To migrate from Elastic APM to OpenTelemetry, remove all elastic-apm references from your code and environment, then install the elastic-opentelemetry package and bootstrap auto-instrumentation to collect telemetry data.

What environment variables need updating when switching to EDOT Python instrumentation?

Switching to EDOT Python instrumentation requires replacing classic Elastic APM environment variables with exact EDOT OpenTelemetry configurations to ensure telemetry is collected properly across your runtime environments.

How does OpenTelemetry auto-instrumentation bootstrap work for Python services?

OpenTelemetry auto-instrumentation bootstrap for Python works by wrapping your application entrypoint and installing instrumentation libraries automatically, ensuring telemetry is collected across typical Python services without manual code changes.

Can I use Elastic EDOT with my existing Python deployment environment?

Yes, Elastic EDOT supports typical Python services and deployment environments by guiding exact dependency updates, bootstrap tooling, and entrypoint wrapping to ensure telemetry is collected across your existing infrastructure.

Why is my Python telemetry not collected after migrating from Elastic APM?

Python telemetry is not collected after migrating if the application entrypoint is not properly wrapped or if exact EDOT environment variables and bootstrap tooling steps were not followed during the OpenTelemetry migration.

What is the difference between the classic Elastic APM agent and EDOT for Python?

The difference between Elastic APM and EDOT is that EDOT uses OpenTelemetry standards, requiring the removal of classic elastic-apm references and installation of elastic-opentelemetry to continue telemetry collection natively.