Datadog Python Trace and Profile Client¶
ddtrace is Datadog’s Python tracing and profiling 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 | >= 1.2 | Yes [2] |
| aiopg | >= 0.12.0 | Yes |
| Algoliasearch | >= 1.20.0 | Yes |
| asgi | >= 2.0 | No |
| Boto2 | >= 2.29.0 | Yes |
| Botocore | >= 1.4.51 | Yes |
| Bottle | >= 0.11 | No |
| Celery | >= 3.1 | Yes |
| Cassandra | >= 3.5 | Yes |
| Consul | >= 0.7 | Yes [3] |
| Django | >= 1.8 | Yes |
| djangorestframework | >= 3.4 | No |
| Elasticsearch | >= 1.6 | Yes |
| Falcon | >= 1.0 | No |
| Flask | >= 0.10 | No |
| Flask Cache | >= 0.12 | No |
| gevent | >= 1.0 | No |
| Grpc | >= 1.8.0 | Yes |
| Jinja2 | >= 2.7 | Yes |
| Mako | >= 0.1.0 | Yes |
| Kombu | >= 4.0 | No |
| Molten | >= 0.7.0 | Yes |
| Mongoengine | >= 0.11 | Yes |
| mysql-connector | >= 2.1 | No |
| MySQL-python | >= 1.2.3 | No |
| mysqlclient | >= 1.3 | No |
| psycopg | >= 2.4 | Yes |
| pylibmc | >= 1.4 | Yes |
| Pylons | >= 0.9.6 | No |
| pymemcache | >= 1.3 | Yes |
| Pymongo | >= 3.0 | Yes |
| Pyramid | >= 1.7 | No |
| redis | >= 2.6 | Yes |
| redis-py-cluster | >= 1.3.5 | Yes |
| Requests | >= 2.08 | Yes |
| SQLAlchemy | >= 1.0 | No |
| Tornado | >= 4.0 | No |
| Vertica | >= 0.6 | Yes |
| [1] | Libraries that are automatically instrumented when the
ddtrace-run command is used or the patch_all() method
is called. Always use patch() and patch_all() as soon as possible in
your Python entrypoint. |
| [2] | only third-party modules such as aiohttp_jinja2 |
| [3] | only the syncronous client |