Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Tracer des applications Python

Pour les applications Python Django, notez que le tracing est désactivé lorsque votre application est lancée en mode DEBUG. Pour en savoir plus, cliquez ici.

Installation et démarrage

Pour commencer le tracing d’applications écrites en Python, vous devez d’abord installer et configurer l’Agent Datadog. Pour obtenir davantage d’informations, consultez la documentation relative au tracing d’applications Docker ou au tracing d’applications Kubernetes.

Installez ensuite la bibliothèque de tracing Datadog, ddtrace, avec pip :

pip install ddtrace

Pour instrumenter votre application Python, utilisez alors la commande ddtrace-run incluse. Pour l’utiliser, ajoutez ddtrace-run en préfixe à la commande de votre point d’entrée Python.

Par exemple, si votre application est lancée avec python app.py, exécutez la commande suivante :

$ ddtrace-run python app.py

Pour découvrir des options d’utilisation, de configuration et de contrôle plus avancées, consultez la documentation relative à l’API de Datadog.

Modifier le hostname de l’Agent

Configurez vos traceurs d’applications de façon à envoyer des traces à un hostname d’Agent personnalisé :

Le module de tracing Python recherche automatiquement les variables ENV DD_AGENT_HOST et DD_TRACE_AGENT_PORT et s’initialise avec celles-ci.

import os
from ddtrace import tracer

tracer.configure(
    hostname=os.environ['DD_AGENT_HOST'],
    port=os.environ['DD_TRACE_AGENT_PORT'],
)

Compatibilité

Les versions 2.7 et 3.4 et les versions ultérieures de Python sont prises en charge.

Intégrations

Compatibilité des frameworks Web

La bibliothèque ddtrace prend en charge de nombreux frameworks Web, y compris :

FrameworkVersion prise en chargeDocumentation PyPi de Datadog
aiohttp>= 1.2http://pypi.datadoghq.com/trace/docs/web_integrations.html#aiohttp
Bottle>= 0.11http://pypi.datadoghq.com/trace/docs/web_integrations.html#bottle
Django>= 1.8http://pypi.datadoghq.com/trace/docs/web_integrations.html#django
djangorestframework>= 3.4http://pypi.datadoghq.com/trace/docs/web_integrations.html#django
Falcon>= 1.0http://pypi.datadoghq.com/trace/docs/web_integrations.html#falcon
Flask>= 0.10http://pypi.datadoghq.com/trace/docs/web_integrations.html#flask
Molten>= 0.7.0http://pypi.datadoghq.com/trace/docs/web_integrations.html#molten
Pylons>= 0.9.6http://pypi.datadoghq.com/trace/docs/web_integrations.html#pylons
Pyramid>= 1.7http://pypi.datadoghq.com/trace/docs/web_integrations.html#pyramid
Tornado>= 4.0http://pypi.datadoghq.com/trace/docs/web_integrations.html#tornado

Compatibilité des datastores

La bibliothèque ddtrace prend en charge les datastores suivants :

DatastoreVersion prise en chargeDocumentation PyPi de Datadog
Cassandra>= 3.5http://pypi.datadoghq.com/trace/docs/db_integrations.html#cassandra
Elasticsearch>= 1.6http://pypi.datadoghq.com/trace/docs/db_integrations.html#elasticsearch
Flask Cache>= 0.12http://pypi.datadoghq.com/trace/docs/db_integrations.html#flask-cache
Memcached pylibmc>= 1.4http://pypi.datadoghq.com/trace/docs/db_integrations.html#pylibmc
Memcached pymemcache>= 1.3http://pypi.datadoghq.com/trace/docs/db_integrations.html#pymemcache
MongoDB Mongoengine>= 0.11http://pypi.datadoghq.com/trace/docs/db_integrations.html#mongoengine
MongoDB Pymongo>= 3.0http://pypi.datadoghq.com/trace/docs/db_integrations.html#pymongo
MySQL MySQL-python>= 1.2.3http://pypi.datadoghq.com/trace/docs/db_integrations.html#module-ddtrace.contrib.mysqldb
MySQL mysqlclient>= 1.3http://pypi.datadoghq.com/trace/docs/db_integrations.html#module-ddtrace.contrib.mysqldb
MySQL mysql-connector>= 2.1http://pypi.datadoghq.com/trace/docs/db_integrations.html#mysql-connector
Postgres aiopg>= 0.12.0http://pypi.datadoghq.com/trace/docs/db_integrations.html#aiopg
Postgres psycopg>= 2.4http://pypi.datadoghq.com/trace/docs/db_integrations.html#module-ddtrace.contrib.psycopg
Redis>= 2.6http://pypi.datadoghq.com/trace/docs/db_integrations.html#redis
Redis redis-py-cluster>= 1.3.5http://pypi.datadoghq.com/trace/docs/db_integrations.html#module-ddtrace.contrib.rediscluster
SQLAlchemy>= 1.0http://pypi.datadoghq.com/trace/docs/db_integrations.html#sqlalchemy
SQLite3Prise en charge complètehttp://pypi.datadoghq.com/trace/docs/db_integrations.html#sqlite
Vertica>= 0.6http://pypi.datadoghq.com/trace/docs/db_integrations.html#vertica

Compatibilité des bibliothèques

La bibliothèque ddtrace prend en charge les bibliothèques suivantes :

BibliothèqueVersion prise en chargeDocumentation PyPi de Datadog
asyncioPrise en charge complètehttp://pypi.datadoghq.com/trace/docs/async_integrations.html#asyncio
gevent>= 1.0http://pypi.datadoghq.com/trace/docs/async_integrations.html#gevent
aiobotocore>= 0.2.3http://pypi.datadoghq.com/trace/docs/other_integrations.html#aiobotocore
Boto2>= 2.29.0http://pypi.datadoghq.com/trace/docs/other_integrations.html#boto2
Botocore>= 1.4.51http://pypi.datadoghq.com/trace/docs/other_integrations.html#botocore
Celery>= 4.0.2http://pypi.datadoghq.com/trace/docs/other_integrations.html#celery
FuturesPrise en charge complètehttp://pypi.datadoghq.com/trace/docs/other_integrations.html#futures
Grpc>= 1.8.0http://pypi.datadoghq.com/trace/docs/other_integrations.html#grpc
httplibPrise en charge complètehttp://pypi.datadoghq.com/trace/docs/other_integrations.html#httplib
Jinja2>= 2.7http://pypi.datadoghq.com/trace/docs/other_integrations.html#jinja2
Kombu>= 4.0http://pypi.datadoghq.com/trace/docs/other_integrations.html#kombu
Mako>= 0.1.0http://pypi.datadoghq.com/trace/docs/other_integrations.html#mako
Requests>= 2.08http://pypi.datadoghq.com/trace/docs/other_integrations.html#requests

Pour aller plus loin