Supported Versions

Odigos uses the official opentelemetry-python-instrumentation OpenTelemetry Auto Instrumentation, thus it supports the same Python versions as this project.

  • In the enterprise version, Odigos leverages eBPF to enhance performance in the Python instrumentation process.

  • Python runtime versions 3.8 and above are supported.

Traces

Odigos will automatically instrument your Python services to record and collect spans for distributed tracing, by utilizing the OpenTelemetry Python official auto Instrumentation Libraries.

Instrumentation Libraries

The following Python modules will be auto instrumented by Odigos:

Database Clients, ORMs, and Data Access Libraries

HTTP Frameworks

  • asgi versions asgiref >= 3.0.0, < 4.0.0
  • django versions django >= 1.10.0
    Please note that for Django instrumentation to work, you need to set the DJANGO_SETTINGS_MODULE environment variable. Make sure to set this in your Kubernetes manifest or Dockerfile to ensure proper configuration.
  • fastapi versions fastapi >= 0.58.0, < 0.59.0, fastapi-slim >= 0.111.0, < 0.112.0
  • flask versions flask >= 1.0.0
  • pyramid versions pyramid >= 1.7.0
  • starlette versions starlette >= 0.13.0, < 0.14.0
  • falcon versions falcon >= 1.4.1, < 3.1.2
  • tornado versions tornado >= 5.1.1

HTTP Clients

Messaging Systems Clients

RPC (Remote Procedure Call)

  • grpc versions grpcio >= 1.27.0, < 2.0.0

Web Servers

Cloud Services and SDKs

  • boto versions boto >= 2.0.0, < 3.0.0
  • boto3sqs versions boto3 >= 1.0.0, < 2.0.0
  • botocore versions botocore >= 1.0.0, < 2.0.0

Framework and Library Utilities

  • jinja2 versions jinja2 >= 2.7, < 4.0

Other

Loggers

Automatic injection of trace context (trace id and span id) into log records for the following loggers: