Loading

Technologies supported by EDOT Python

Elastic Stack Serverless Observability

EDOT Python is a distribution of OpenTelemetry Python. It inherits all the supported technologies of the OpenTelemetry Python.

EDOT Python sends data through the OpenTelemetry protocol (OTLP). While OTLP ingest works with later 8.16+ versions of the EDOT Collector, for full support use either EDOT Collector versions 9.x or Elastic Cloud Serverless for OTLP ingest.

Note

Ingesting data from EDOT SDKs through EDOT Collector 9.x into Elastic Stack versions 8.18+ is supported.

Refer to EDOT SDKs compatibility for support details.

The following Python versions are supported:

  • 3.8
  • 3.9
  • 3.10
  • 3.11
  • 3.12
  • 3.13

This follows the OpenTelemetry Python Version Support.

Instrumentations are not installed by default. Use the edot-bootstrap command to automatically install the available instrumentations.

Name Packages instrumented Semantic conventions status
elastic-opentelemetry-instrumentation-openai openai >= 1.2.0 development
opentelemetry-instrumentation-aio-pika aio_pika >= 7.2.0, < 10.0.0 development
opentelemetry-instrumentation-aiohttp-client aiohttp ~= 3.0 migration
opentelemetry-instrumentation-aiohttp-server aiohttp ~= 3.0 development
opentelemetry-instrumentation-aiokafka aiokafka >= 0.8, < 1.0 development
opentelemetry-instrumentation-aiopg aiopg >= 0.13.0, < 2.0.0 development
opentelemetry-instrumentation-asgi asgiref ~= 3.0 migration
opentelemetry-instrumentation-asyncio asyncio development
opentelemetry-instrumentation-asyncpg asyncpg >= 0.12.0 development
opentelemetry-instrumentation-aws-lambda development
opentelemetry-instrumentation-boto boto~=2.0 development
opentelemetry-instrumentation-boto3sqs boto3 ~= 1.0 development
opentelemetry-instrumentation-botocore botocore ~= 1.0 development
opentelemetry-instrumentation-cassandra cassandra-driver ~= 3.25,scylla-driver ~= 3.25 development
opentelemetry-instrumentation-celery celery >= 4.0, < 6.0 development
opentelemetry-instrumentation-click click >= 8.1.3, < 9.0.0 development
opentelemetry-instrumentation-confluent-kafka confluent-kafka >= 1.8.2, <= 2.7.0 development
opentelemetry-instrumentation-dbapi dbapi development
opentelemetry-instrumentation-django django >= 1.10 development
opentelemetry-instrumentation-elasticsearch elasticsearch >= 6.0 development
opentelemetry-instrumentation-falcon falcon >= 1.4.1, < 5.0.0 migration
opentelemetry-instrumentation-fastapi fastapi ~= 0.58 migration
opentelemetry-instrumentation-flask flask >= 1.0 migration
opentelemetry-instrumentation-grpc grpcio >= 1.42.0 development
opentelemetry-instrumentation-httpx httpx >= 0.18.0 migration
opentelemetry-instrumentation-jinja2 jinja2 >= 2.7, < 4.0 development
opentelemetry-instrumentation-kafka-python kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0 development
opentelemetry-instrumentation-logging logging development
opentelemetry-instrumentation-mysql mysql-connector-python >= 8.0, < 10.0 development
opentelemetry-instrumentation-mysqlclient mysqlclient < 3 development
opentelemetry-instrumentation-pika pika >= 0.12.0 development
opentelemetry-instrumentation-psycopg psycopg >= 3.1.0 development
opentelemetry-instrumentation-psycopg2 psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1 development
opentelemetry-instrumentation-pymemcache pymemcache >= 1.3.5, < 5 development
opentelemetry-instrumentation-pymongo pymongo >= 3.1, < 5.0 development
opentelemetry-instrumentation-pymssql pymssql >= 2.1.5, < 3 development
opentelemetry-instrumentation-pymysql PyMySQL < 2 development
opentelemetry-instrumentation-pyramid pyramid >= 1.7 development
opentelemetry-instrumentation-redis redis >= 2.6 development
opentelemetry-instrumentation-remoulade remoulade >= 0.50 development
opentelemetry-instrumentation-requests requests ~= 2.0 migration
opentelemetry-instrumentation-sqlalchemy sqlalchemy >= 1.0.0, < 2.1.0 development
opentelemetry-instrumentation-sqlite3 sqlite3 development
opentelemetry-instrumentation-starlette starlette >= 0.13, <0.15 development
opentelemetry-instrumentation-system-metrics psutil >= 5 development
opentelemetry-instrumentation-threading threading development
opentelemetry-instrumentation-tornado tornado >= 5.1.1 development
opentelemetry-instrumentation-tortoiseorm tortoise-orm >= 0.17.0 development
opentelemetry-instrumentation-urllib urllib migration
opentelemetry-instrumentation-urllib3 urllib3 >= 1.0.0, < 3.0.0 migration
opentelemetry-instrumentation-vertexai google-cloud-aiplatform >= 1.64 development
opentelemetry-instrumentation-wsgi wsgi migration

The semantic conventions status tracks the stabilization of the semantic conventions used in the instrumentation:

  • Stable means they are stable and are not expected to change.
  • Development means they are not stable yet and they may change in the future.
  • Migration means there may be configuration knobs to switch between different semantic conventions.

Some libraries like the Python Elasticsearch Client natively supports OpenTelemetry instrumentation.

The elasticsearch package has native OpenTelemetry support since version 8.13.

You can instrument the following LLM (Large Language Model) libraries with instrumentations implementing the OpenTelemetry GenAI Semantic Conventions:

SDK Instrumentation Traces Metrics Logs Notes
OpenAI elastic-opentelemetry-instrumentation-openai Supported Supported Supported Supports sync and async chat completions create API and embeddings API.
AWS SDK for Python (Boto3) opentelemetry-instrumentation-botocore Supported Supported Supported Supports Bedrock Runtime APIs like InvokeModel, InvokeModelWithResponseStream, Converse, and ConverseStream. A subset of models are traced in InvokeModel and InvokeModelWithStreaming API. See botocore instrumentation.
Google Cloud AI Platform opentelemetry-instrumentation-vertexai Supported Experimental Supported Instrumentation supports tracing and sending events for synchronous API calls. Currently, it doesn't support async APIs and streaming calls.