Datadog Python APM Client#

ddtrace is Datadog’s Python APM client. It is used to profile code and trace requests as they flow across web servers, databases and microservices. This enables developers to have greater visibility into bottlenecks and troublesome requests in their application.

Getting Started#

For a basic product overview: check out the setup documentation.

For details about developing and contributing: refer to the development guide.

For descriptions of the terminology of Datadog APM: take a look at the official documentation.

Supported Libraries#

We officially support Python 2.7, 3.5 and above.

The versions listed are the versions that we have tested, but ddtrace can still be compatible with other versions of these libraries. If a version of a library you use is unsupported, feel free to contribute or request it by contacting support.

Integration

Supported Version

Automatically Instrumented [1]

aiobotocore

>= 0.2.3

No

aiohttp (client)

>= 2.0

Yes

aiohttp (server)

>= 2.0

No

aiomysql

>= 0.1.0

Yes

aiopg

>= 0.12.0, <= 0.16

Yes

aioredis

>= 1.3.0

Yes

algoliasearch

>= 1.20.0

Yes

aredis

>= 1.1.0

Yes

asgi

>= 2.0

No

asyncio

*

Yes [4]

asyncpg

>= 0.18.0

Yes

boto2

>= 2.29.0

Yes

botocore

>= 1.4.51

Yes

Bottle

>= 0.11

No

Cassandra

>= 3.5

Yes

Celery

>= 3.1

Yes

CherryPy

>= 11.2.0

No

confluent-kafka

>= 1.7.0

Yes

Consul

>= 0.7

Yes [2]

Django

>= 1.8

Yes

djangorestframework

>= 3.4

No

dogpile.cache

>= 0.6

Yes

Elasticsearch

>= 1.6, < 8.0

Yes

Falcon

>= 1.0

No

Fastapi

>= 0.51

Yes

Flask

>= 0.10

Yes

Flask Cache

>= 0.12

No

gevent

>= 1.1

No

Grpc

>= 1.12.0

Yes [5]

graphene

>= 2.0.0

Yes

graphql-core

>= 2.0.0

Yes

gunicorn

>= 20.0

No

httplib

*

Yes

httpx

>= 0.9.0

Yes

Jinja2

>= 2.7

Yes

kombu

>= 4.0

No

LangChain

>= 0.0.192

Yes

Mako

>= 0.1.0

Yes

MariaDB

>= 1.0.0

Yes

Molten

>= 0.7.0

Yes

Mongoengine

>= 0.11

Yes

mysql-connector

>= 2.1

No

mysqlclient

>= 1.3

No

OpenAI

>= 0.26.5

Yes

opensearch-py

>= 1.0

Yes

psycopg

>= 2.7

Yes

pylibmc

>= 1.4

Yes

Pylons

>= 0.9.6

No

pymemcache

>= 1.3

Yes

Pymongo

>= 3.0

Yes

pymysql

>= 0.7

Yes

PynamoDB

>= 4.0

Yes

PyODBC

>= 4.0

Yes

Pyramid

>= 1.7

No

pytest

>= 4.0.0

Yes

redis

>= 2.6

Yes

redis-py-cluster

>= 1.3.5

Yes

Requests

>= 2.08

Yes

RQ

>= 1.00

Yes

Sanic

>= 19.6.0

Yes [3]

Snowflake

>= 2.0.0

No

SQLAlchemy

>= 1.0

No

SQLite

*

Yes

Starlette

>= 0.13.0

Yes

Tornado

>= 4.0

No

urllib3

>= 1.22

No

Vertica

>= 0.6

Yes

WSGI

*

No

yaaredis

>= 2.0.0

Yes

Instrumentation Telemetry#

Datadog may gather environmental and diagnostic information about instrumentation libraries; this includes information about the host running an application, operating system, programming language and runtime, APM integrations used, and application dependencies. Additionally, Datadog may collect information such as diagnostic logs, crash dumps with obfuscated stack traces, and various system performance metrics.

To disable set DD_INSTRUMENTATION_TELEMETRY_ENABLED=false environment variable.

See our official datadog documentation for more details.

Indices and tables#