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#
dd-trace-py works with Python 3.8 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 |
|||
|---|---|---|---|
>= 1.0.0 |
No |
||
aiohttp (client) |
>= 3.7 |
Yes |
|
aiohttp (server) |
>= 3.7 |
No |
|
>= 1.5.0 |
Yes |
||
>= 0.1.0 |
Yes |
||
>= 0.16.0 |
Yes |
||
>= 2.6.3 |
Yes |
||
>= 0.28.0 |
Yes |
||
* |
Yes |
||
>= 3.0 |
No |
||
* |
Yes |
||
>= 0.23.0 |
Yes |
||
* |
Yes |
||
>= 1.10.1 |
Yes |
||
* |
Yes |
||
>= 0.12 |
No |
||
>= 4.4 |
Yes |
||
>= 17.0 |
No |
||
>= 1.9.2 |
Yes |
||
>= 1.1 |
Yes 2 |
||
* |
Yes |
||
>= 0.102 |
Yes |
||
* |
Yes |
||
>= 2.2 |
Yes |
||
>= 3.11 |
No |
||
>= 0.6 |
Yes |
||
>= 1.10.0 |
Yes |
||
>= 1.1.0 |
Yes |
||
>= 3.0 |
Yes |
||
>= 0.64 |
Yes |
||
>= 1.1 |
Yes |
||
>= 0.13 |
No |
||
* |
Yes |
||
gevent (greenlet>=1.0) |
>= 21.1.2 |
Yes |
|
>= 1.0.0 |
Yes |
||
>= 1.21.1 |
Yes |
||
>= 1.34 |
Yes 4 |
||
>= 3.0.0 |
Yes |
||
>= 3.1 |
Yes |
||
>= 20.0.04 |
No |
||
* |
Yes |
||
>= 0.25 |
Yes |
||
>= 2.10 |
Yes |
||
>= 4.6 |
No |
||
>= 0.1 |
Yes |
||
* |
Yes |
||
* |
Yes |
||
>= 1.0.0 |
No |
||
* |
Yes 5 |
||
>= 0.4.0 |
No |
||
>= 1.0 |
Yes |
||
>= 1.10.0 |
Yes |
||
>= 1.0.0 |
Yes |
||
>= 1.0 |
Yes |
||
>= 8.0.5 |
Yes |
||
* |
Yes |
||
>= 1.0 |
Yes |
||
>= 0.0.2 |
Yes |
||
>= 1.1 |
Yes |
||
* |
Yes 6 |
||
>= 2.9.10 |
Yes |
||
>= 1.6.2 |
Yes |
||
>= 3.4 |
Yes |
||
>= 3.8 |
Yes |
||
>= 0.10 |
Yes |
||
>= 5.5.1 |
Yes |
||
>= 4.0.31 |
Yes |
||
>= 1.10 |
No |
||
>= 6.0 |
Yes |
||
* |
Yes |
||
* |
Yes |
||
* |
Yes |
||
>= 2.0 |
Yes |
||
>= 2.25.1 |
Yes |
||
>= 1.8 |
Yes |
||
>= 20.12.0 |
Yes 3 |
||
* |
Yes |
||
>= 2.4.6 |
No |
||
>= 1.3 |
No |
||
* |
Yes |
||
>= 0.14.0 |
Yes |
||
>= 20.2.0 |
No |
||
* |
Yes |
||
>= 6.1 |
No |
||
* |
Yes |
||
* |
Yes |
||
>= 1.25.0 |
No |
||
>= 6.0.0 |
Yes |
||
>= 1.71.1 |
Yes |
||
>= 0.6 |
Yes |
||
* |
No |
||
* |
No |
||
>= 2.0.0 |
Yes |
- 1
Libraries that are automatically instrumented when the ddtrace-run command is used or the
import ddtrace.autoimport is used. Always useimport ddtrace.autoas soon as possible in your Python entrypoint.- 2
only the synchronous client
- 3
only in Python 3.8 and above.
- 4
grpc.aiois automatically instrumented starting withgrpcio>=1.32.0.- 5
logging integrations are enabled if
config._logs_injection or [DD_LOGS_INJECTION]isTrue.- 6
protobufintegration is enabled ifconfig._data_streams_enabled or [DD_DATA_STREAMS_ENABLED]isTrue.
Instrumentation Telemetry#
dd-trace-py gathers environmental and diagnostic information at runtime. This includes information about the host running an application, operating system, programming language and runtime, APM integrations used, and application dependencies. It also gathers information such as diagnostic logs, crash dumps with obfuscated stack traces, and various system performance metrics.
To disable this collection, set DD_INSTRUMENTATION_TELEMETRY_ENABLED=false environment variable.
See our official datadog documentation for more details.
Release Notes#
You can view historical release notes for all past versions of this repository on GitHub.