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-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, 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, utilisez DD_TRACE_PROPAGATION_STYLE_INJECT=Datadog,B3
pour 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,Datadog
recherche en priorité les en-têtes B3
, puis utilise les en-têtes Datadog
si 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
, 6c44da20
ou 2020.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 entre 0.0
et 1.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 à
100
lorsque DD_TRACE_SAMPLE_RATE
est 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 de sample_rate
doit ê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-service
et le nom d’opération http.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 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
Définit le port sur lequel le traceur par défaut envoie les traces. Si la configuration de l’Agent définit receiver_port
ou DD_APM_RECEIVER_PORT
sur une valeur autre que le port 8126
par défaut, alors la valeur de DD_AGENT_PORT
ou de DD_TRACE_AGENT_URL
doit 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_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. Si la configuration de l’Agent définit receiver_port
ou DD_APM_RECEIVER_PORT
sur une valeur autre que le port 8126
par défaut, alors la valeur de DD_AGENT_PORT
ou de DD_TRACE_AGENT_URL
doit 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_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 HTTP et DD_DOGSTATSD_URL=unix:///var/run/datadog/dsd.socket
pour UDS. Si la configuration de l’Agent définit dogstatsd_port
ou DD_DOGSTATSD_PORT
sur une valeur autre que le port 8125
par défaut, alors la valeur de DD_DOGSTATSD_URL
ou de DD_DOGSTATSD_PORT
pour 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. Utiliser DD_AGENT_HOST
pour remplacer DD_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éfinit dogstatsd_port
ou DD_DOGSTATSD_PORT
sur une valeur autre que le port 8125
par défaut, alors la valeur de DD_DOGSTATSD_PORT
ou de DD_DOGSTATSD_URL
pour 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: