Instrument a Python application with the Elastic Distribution of OpenTelemetry (EDOT) Python agent for automatic tracing, metrics, and logs.
elastic-edot-python-instrument/SKILL.md
---
name: observability-edot-python-instrument
description: >
Instrument a Python application with the Elastic Distribution of OpenTelemetry (EDOT)
Python agent for automatic tracing, metrics, and logs. Use when adding observability
to a Python service that has no existing APM agent.
metadata:
author: elastic
version: 0.1.0
---
# EDOT Python Instrumentation
Read the setup guide before making changes:
- [EDOT Python setup](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/python/setup)
- [EDOT Python configuration](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/python/configuration)
- [OpenTelemetry Python auto-instrumentation](https://opentelemetry.io/docs/zero-code/python/)
## Guidelines
1. Install `elastic-opentelemetry` via pip (add to `requirements.txt` or equivalent)
1. Run `edot-bootstrap --action=install` during image build to install auto-instrumentation packages for detected
libraries
1. Wrap the application entrypoint with `opentelemetry-instrument` — e.g. `opentelemetry-instrument gunicorn app:app` or… load the full skill through Skill MeIn any connected conversation, say:
Install the Observability Edot Python Instrument skill
If full content is available, it applies in this conversation and stays installed for future sessions.
Not connected yet? It takes about a minute.
Connect your AIOr add it to a project with the CLI
npx @skillme/cli add elastic-edot-python-instrumentMCP endpoint
https://skillme.dev/api/mcpUse it across a team
Pin this skill in a team library and every member's AI loads this exact version until an admin updates it.
How Teams works