Configurer la bibliothèque de tracing Python
Après avoir configuré la bibliothèque de tracing avec votre code ainsi que l’Agent de façon à recueillir des données APM, vous pouvez ajuster sa configuration selon vos besoins, notamment en configurant le tagging de service unifié.
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....
Il est conseillé 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-prodoustaging. 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, il est conseillé de définir le nom de service dans le code (par exemple, voir la documentation Django). Disponible à partir de la version 0.38.
- DD_TRACE_PROPAGATION_STYLE_INJECT
- Valeur par défaut : tracecontext,Datadog
 Styles de propagation à utiliser lors de l’injection des en-têtes de tracing. Par exemple, utilisezDD_TRACE_PROPAGATION_STYLE_INJECT=Datadog,B3pour injecter à la fois les en-têtes au format Datadog et B3.
- DD_TRACE_PROPAGATION_STYLE_EXTRACT
- Valeur par défaut : valeur de DD_TRACE_PROPAGATION_STYLE_INJECT(tracecontext,Datadog)
 Styles de propagation à utiliser lors de l’extraction des en-têtes de tracing. Si vous indiquez plusieurs valeurs, la première correspondance d’en-tête est utilisée. Par exemple,DD_TRACE_PROPAGATION_STYLE_EXTRACT=B3,Datadogrecherche en priorité les en-têtesB3, puis utilise les en-têtesDatadogsi aucun en-tête B3 n’est disponible.
- 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,6c44da20ou2020.02.13. Disponible à partir de la version 0.38.
- DD_TRACE_SAMPLE_RATE
- Active le contrôle du volume de traces.
- DD_TRACE_SAMPLING_RULES
- Valeur par défaut : []
 Un tableau JSON d’objets. Chaque objet doit comporter un"sample_rate". Les champs"name"et"service"sont facultatifs. La valeur de"sample_rate"doit être comprise entre0.0et1.0(inclus). Pour déterminer le taux d’échantillonnage de la trace, les règles sont appliquées dans l’ordre configuré.
- DD_TRACE_RATE_LIMIT
- Le nombre maximal de spans à échantillonner par processus Python et par seconde. Par défaut, sa valeur correspond à 100lorsqueDD_TRACE_SAMPLE_RATEest défini. Si ce n’est pas le cas, c’est l’Agent Datadog qui doit définir les limites de taux.
- DD_SPAN_SAMPLING_RULES
- Par défaut : []
 Un tableau JSON d’objets. Pour déterminer le taux d’échantillonnage de la span, les règles sont appliquées dans l’ordre configuré. La valeur desample_ratedoit être comprise entre 0.0 et 1.0 (inclus). Pour en savoir plus, consultez la section Mécanismes d’ingestion.
 Exemple :
 - Pour définir le taux d’échantillonnage de la span sur 50 % pour le service my-serviceet le nom d’opérationhttp.request, avec jusqu’à 50 traces par seconde, utilisez la variable d’environnement suivante :'[{"service": "my-service", "name": "http.request", "sample_rate":0.5, "max_per_second": 50}]'.
 
- DD_TAGS
- La liste des tags par défaut à ajouter à chaque span et profil. Exemple : layer:api,team:intake,key:value. Disponible à partir de la version 0.38.
- DD_TRACE_HEADER_TAGS
- Valeur par défaut : null
 Liste de noms d’en-tête séparés par des virgules qui sont ajoutés à la span racine en tant que tags. Exemple :DD_TRACE_HEADER_TAGS="User-Agent:http.user_agent,Referer:http.referer,Content-Type:http.content_type,Etag:http.etag".
- DD_TRACE_ENABLED
- Valeur par défaut : true
 Active l’instrumentation des frameworks web et des bibliothèques. Lorsqu’elle est définie surfalse, 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
 Définit le port sur lequel le traceur par défaut envoie les traces. Si la configuration de l’Agent définitreceiver_portouDD_APM_RECEIVER_PORTsur une valeur autre que le port8126par défaut, alors la valeur deDD_AGENT_PORTou deDD_TRACE_AGENT_URLdoit correspondre au port en question.
- 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_socketde votre fichierdatadog.yamlou à la variable d’environnementDD_APM_RECEIVER_SOCKET, définie sur l’Agent Datadog. Par exemple,DD_TRACE_AGENT_URL=http://localhost:8126pour une URL HTTP etDD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socketpour UDS. Si la configuration de l’Agent définitreceiver_portouDD_APM_RECEIVER_PORTsur une valeur autre que le port8126par défaut, alors la valeur deDD_AGENT_PORTou deDD_TRACE_AGENT_URLdoit correspondre au port en question.
- DD_DOGSTATSD_URL
- L’URL utilisée afin de se connecter à l’Agent Datadog pour les métriques DogStatsD. Si cette variable est définie, elle est utilisée à la place du hostname et du port. Prend en charge les sockets de domaine Unix (UDS) grâce au paramètre dogstatsd_socketde votre fichierdatadog.yamlou à la variable d’environnementDD_DOGSTATSD_SOCKET, définie sur l’Agent Datadog Par exemple,DD_DOGSTATSD_URL=udp://localhost:8126pour une URL HTTP etDD_DOGSTATSD_URL=unix:///var/run/datadog/dsd.socketpour UDS. Si la configuration de l’Agent définitdogstatsd_portouDD_DOGSTATSD_PORTsur une valeur autre que le port8125par défaut, alors la valeur deDD_DOGSTATSD_URLou deDD_DOGSTATSD_PORTpour cette bibliothèque de tracing doit correspondre au port en question.
- 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. UtiliserDD_AGENT_HOSTpour remplacerDD_DOGSTATSD_HOST.
- DD_DOGSTATSD_PORT
- Valeur par défaut : 8125
 Définit le port sur lequel le traceur par défaut envoie les métriques DogStatsD. Si la configuration de l’Agent définitdogstatsd_portouDD_DOGSTATSD_PORTsur une valeur autre que le port8125par défaut, alors la valeur deDD_DOGSTATSD_PORTou deDD_DOGSTATSD_URLpour cette bibliothèque de tracing doit correspondre au port en question.
- 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: