Logs de debugging du traceur

Activer le mode debugging

Utilisez les paramètres de debugging de Datadog pour diagnostiquer des problèmes ou auditer les données de trace. Datadog vous déconseille d’activer le mode debugging sur vos systèmes de production, car cela augmente le nombre d’événements envoyés à vos loggers. Utilisez le mode debugging uniquement à des fins de debugging.

Le mode debugging est désactivé par défaut. Pour l’activer, suivez les instructions correspondant au langage utilisé :

Les étapes à suivre pour activer le mode debugging dans le traceur Python Datadog dépendent de la version du traceur utilisée par votre application. Choisissez le scénario qui s’applique :

Scénario 1 : ddtrace 1.3.2 ou une version ultérieure

  1. Pour activer le mode debugging : DD_TRACE_DEBUG=true

  2. Pour transmettre les logs de debugging vers un fichier de log, définissez DD_TRACE_LOG_FILE avec le nom du fichier dans lequel les logs du traceur doivent être écrits en fonction de votre répertoire de travail actuel. Par exemple, DD_TRACE_LOG_FILE=ddtrace_logs.log. Par défaut, la taille du fichier est de 15728640 octets (environ 15 Mo) et un fichier de sauvegarde est créé. Pour augmenter la taille par défaut du fichier de log, spécifiez la taille en octets à l’aide du paramètre DD_TRACE_LOG_FILE_SIZE_BYTES.

  3. Pour transmettre les logs vers la console avec une application Python 2, configurez logging.basicConfig() ou un paramètre similaire. Les logs sont automatiquement envoyés vers la console pour les applications Python 3.

Scénario 2 : ddtrace 1.0.x à 1.2.x

  1. Pour activer le mode debugging : DD_TRACE_DEBUG=true

  2. Pour transmettre les logs vers la console avec une application Python 2 ou Python 3, configurez logging.basicConfig() ou utilisez DD_CALL_BASIC_CONFIG=true.

Scénario 3 : ddtrace 0.x

  1. Pour activer le mode debugging : DD_TRACE_DEBUG=true

  2. Pour transmettre les logs vers la console avec une application Python 2 ou Python 3, configurez logging.basicConfig() ou utilisez DD_CALL_BASIC_CONFIG=true.

Scénario 4 : Configurer les logs de debugging dans le code de l’application avec la bibliothèque de logging standard

Pour toutes les versions de ddtrace, au lieu de définir la variable d’environnement du traceur DD_TRACE_DEBUG, vous pouvez activer les logs de debugging dans le code de l’application en utilisant la bibliothèque logging standard directement :

log = logging.getLogger("ddtrace.tracer")
log.setLevel(logging.DEBUG)

Examiner les logs de debugging

Lorsque le mode debugging pour votre traceur est activé, des messages de log concernant le traceur indiquent comment le traceur a été initialisé et si des traces ont été envoyées à l’Agent. Ces logs ne sont pas envoyés à l’Agent Datadog dans le flare et sont stockés dans un chemin distinct selon votre configuration de log. Les exemples de logs suivants montrent les éléments qui peuvent figurer dans votre fichier de log.

Si vous constatez des erreurs que vous ne comprenez pas, ou si les traces sont signalées comme envoyées à Datadog mais que vous ne les voyez pas dans l’interface, contactez l’assistance Datadog et envoyez les entrées de log pertinentes avec un flare.

Le nom du gestionnaire de logging dans les logs générés par le traceur Python est ddtrace

Des traces ont été générées :

<AAAA-MM-JJ> 19:51:22,262 DEBUG [ddtrace.internal.processor.trace] [trace.py:211] - trace <ID TRACE> has 8 spans, 7 finished

Span générée par le traceur Python :

<AAAA-MM-JJ> 19:51:22,251 DEBUG [ddtrace.tracer] [tracer.py:715] - finishing span name='flask.process_response' id=<ID SPAN> trace_id=<ID TRACE>  parent_id=<ID PARENT> service='flask' resource='flask.process_response' type=None start=1655495482.2478693 end=1655495482.2479873 duration=0.000118125 error=0 tags={} metrics={} (enabled:True)
0.0:5050/

Des traces ont été envoyées à l’Agent Datadog :

<AAAA-MM-JJ> 19:59:19,657 DEBUG [ddtrace.internal.writer] [writer.py:405] - sent 1.57KB in 0.02605s to http://localhost:8126/v0.4/traces

Des traces n’ont pas pu être envoyées à l’Agent Datadog :

<AAAA-MM-JJ> 19:51:23,249 ERROR [ddtrace.internal.writer] [writer.py:567] - failed to send traces to Datadog Agent at http://localhost:8126/v0.4/traces

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles:

PREVIEWING: brett.blue/embedded-collector-release