Exigences de compatibilité
Les versions 2.7+
et 3.5+
de Python sont prises en charge. Pour obtenir la liste complète des bibliothèques prises en charge, consultez la page Exigences de compatibilité.
La configuration du tracing implique de configurer le Profileur en continu. Il vous suffit ensuite d’activer le Profileur pour commencer à recevoir les données de profiling depuis votre application.
Installation et démarrage
Suivre la documentation dans l’application (conseillé)
Suivez les instructions de démarrage rapide fournies dans l’application Datadog pour profiter d’une expérience optimale, et notamment :
- Obtenir des instructions détaillées en fonction de la configuration de votre déploiement (hosts, Docker, Kubernetes ou Amazon ECS) ;
- Définir les tags
service
, env
et version
de façon dynamique ; - Activer le profileur en continu, l’ingestion de 100 % des traces et l’injection des ID de trace dans les logs durant la configuration.
Sinon, pour commencer le tracing d’applications écrites en Python, installez la bibliothèque de tracing Datadog, ddtrace
, avec pip :
Remarque : cette commande nécessite la version 18.0.0
(ou une version ultérieure) de pip. Pour Ubuntu, Debian ou tout autre gestionnaire de packages, mettez à jour votre version de pip à l’aide de la commande suivante :
pip install --upgrade pip
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
Installez et configurez l’Agent Datadog pour recevoir des traces de votre application désormais instrumentalisée. Par défaut, l’Agent Datadog est activé dans votre fichier datadog.yaml
sous apm_config
avec enabled: true
et écoute le trafic de trace à localhost:8126
. Pour les environnements coneteneurisés, suivez les liens ci-dessous pour activer la collecte de trace dans l’Agent Datadog.
Positionnez apm_non_local_traffic: true
dans la section apm_config
de votre fichier de configuration datadog.yaml
principal.
Consultez les instructions de configuration spécifiques pour vous assurer que l’Agent est configuré de façon à recevoir des traces dans un environnement conteneurisé :
Après avoir instrumenté votre application, le client de tracing envoie, par défaut, les traces à localhost:8126
. S’il ne s’agit pas du host et du port adéquats, modifiez-les en définissant les variables d’environnement ci-dessous :
DD_AGENT_HOST
et DD_TRACE_AGENT_PORT
Vous pouvez également définir le hostname et le port dans le code :
import os
from ddtrace import tracer
tracer.configure(
hostname="custom-hostname",
port="1234",
)
- Définissez
DD_SITE
dans l’Agent Datadog sur
pour vous assurer que l’Agent envoie les données au bon site Datadog.
Une fois le traceur configuré et exécuté avec votre application, utilisez la commande ddtrace-run --status
pour vérifier que les configurations fonctionnent comme prévu. Notez que la sortie de cette commande ne reflète pas les changements de configuration effectués dans le code pendant l’exécution.
Pour découvrir des options d’utilisation, de configuration et de contrôle plus avancées, consultez la documentation relative à l’API de Datadog.
Configuration
Lorsque vous utilisez ddtrace-run, les variables d’environnement suivantes sont disponibles :
DD_TRACE_DEBUG
- Valeur par défaut :
false
Active les logs de debugging dans le traceur. DD_PATCH_MODULES
- Remplace les modules patchés pour l’exécution de cette application. Format à utiliser :
DD_PATCH_MODULES=module:patch,module:patch...
Nous vous conseillons d’utiliser DD_ENV
, DD_SERVICE
et DD_VERSION
pour définir les paramètres env
, service
et version
pour vos services. Consultez la documentation sur le tagging de service unifié pour en savoir plus sur la configuration de ces variables d’environnement.
DD_ENV
- Définit l’environnement d’une application, p. ex.
prod
, pre-prod
ou staging
. Découvrez comment configurer votre environnement. Disponible à partir de la version 0.38. DD_SERVICE
- Le nom de service à utiliser pour cette application. La valeur est transmise lorsque vous configurez un middleware pour les intégrations de framework Web comme Pylons, Flask ou Django. Si vous n’utilisez pas d’intégration Web pour le tracing, nous vous conseillons de définir le nom de service dans le code (par exemple, se référer à la documentation Django). Disponible à partir de la version 0.38.
DD_SERVICE_MAPPING
- Permet de définir des mappages de nom de service afin de renommer des services dans les traces, par exemple :
postgres:postgresql,defaultdb:postgresql
. Disponible à partir de la version 0.47. DD_VERSION
- Définit la version de votre application, p. ex.
1.2.3
, 6c44da20
ou 2020.02.13
. Disponible à partir de la version 0.38. DD_TAGS
- La liste des tags par défaut à ajouter à chaque span et profil, p. ex.
layer:api,team:intake
. Disponible à partir de la version 0.38. DD_TRACE_ENABLED
- Valeur par défaut :
true
Active l’instrumentation des frameworks web et des bibliothèques. Lorsqu’elle est définie sur false
, le code de l’application ne génère aucune trace. DD_AGENT_HOST
- Valeur par défaut :
localhost
Remplace l’adresse du host de l’Agent de trace utilisée par le traceur par défaut pour l’envoi des traces. DD_AGENT_PORT
- Valeur par défaut :
8126
Remplace le port utilisé par le traceur par défaut pour l’envoi des traces. DD_TRACE_AGENT_URL
- L’URL de l’Agent de trace auquel le traceur transmet des données. Lorsque ce paramètre est défini, il est utilisé à la place du hostname et du port. Prend en charge les sockets de domaine Unix (UDS) grâce au paramètre
apm_config.receiver_socket
de votre fichier datadog.yaml
ou à la variable d’environnement DD_APM_RECEIVER_SOCKET
, définie sur l’Agent Datadog. Par exemple, DD_TRACE_AGENT_URL=http://localhost:8126
pour une URL HTTP et DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket
pour UDS. DD_DOGSTATSD_URL
- L’URL de connexion à l’Agent Datadog pour les métriques DogStatsD. Lorsque ce paramètre est défini, il est utilisé à la place du hostname et du port. Prend en charge les sockets de domaine Unix (UDS) grâce au paramètre
dogstatsd_socket
de votre fichier datadog.yaml
ou à la variable d’environnement DD_DOGSTATSD_SOCKET
, définie sur l’Agent Datadog. Par exemple, DD_DOGSTATSD_URL=udp://localhost:8126
pour une URL UDP et DD_DOGSTATSD_URL=unix:///var/run/datadog/dsd.socket
pour UDS. DD_DOGSTATSD_HOST
- Valeur par défaut :
localhost
Remplace l’adresse du host de l’Agent de trace utilisée par le traceur par défaut pour l’envoi des métriques DogStatsD. Utiliser DD_AGENT_HOST
pour remplacer DD_DOGSTATSD_HOST
. DD_DOGSTATSD_PORT
- Valeur par défaut :
8126
Remplace le port utilisé par le traceur par défaut pour l’envoi des métriques DogStatsD. DD_LOGS_INJECTION
- Valeur par défaut :
false
Active la mise en relation des logs et des traces injectées.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: