Activar el modo de depuración

Utiliza la configuración de depuración de Datadog para diagnosticar problemas o auditar datos de traza. Datadog no recomienda activar el modo de depuración en sistemas de producción porque aumenta el número de eventos que se envían a los registradores. Utiliza el modo de depuración solo con fines de depuración.

El modo de depuración está desactivado por defecto. Para activarlo, sigue las instrucciones del rastreador de lenguaje correspondiente:

Los pasos para activar el modo de depuración en el rastreador de Datadog Python dependen de la versión del rastreador que utiliza tu aplicación. Elige el escenario que corresponda:

Escenario 1: ddtrace versión 2.x y posterior

  1. Para activar el modo de depuración: DD_TRACE_DEBUG=true

  2. Para dirigir los logs de depuración a un archivo de log, establece DD_TRACE_LOG_FILE en el nombre de archivo de ese archivo de log, en relación con el directorio de trabajo actual. Por ejemplo, DD_TRACE_LOG_FILE=ddtrace_logs.log. Por defecto, el tamaño del archivo es 15728640 bytes (unos 15MB), y se crea un archivo de log de copia de seguridad. Para aumentar el tamaño predeterminado del archivo de log, especifica el tamaño en bytes con el ajuste DD_TRACE_LOG_FILE_SIZE_BYTES.

Nota: Si la aplicación utiliza el registrador raíz y cambia el nivel de log a DEBUG, se habilitan los logs de depuración del rastreador. Si deseas anular este comportamiento, anula el registrador ddtrace de la siguiente manera:

import logging

# configuración del registrador raíz
root_logger = logging.getLogger()
root_logger.setLevel(logging.DEBUG)

# anular la configuración ddtrace al nivel de log WARNING
logging.getLogger("ddtrace").setLevel(logging.WARNING)

Escenario 2: ddtrace versión 1.3.2 a <2.x

  1. Para activar el modo de depuración: DD_TRACE_DEBUG=true

  2. Para dirigir los logs de depuración a un archivo de log, establece DD_TRACE_LOG_FILE con un nombre de archivo en el que se deben escribir los logs del rastreador, relativos al directorio de trabajo actual. Por ejemplo, DD_TRACE_LOG_FILE=ddtrace_logs.log. Por defecto, el tamaño del archivo es 15728640 bytes (unos 15MB) y se crea un archivo de log de copia de seguridad. Para aumentar el tamaño predeterminado del archivo de log, especifica el tamaño en bytes con el ajuste DD_TRACE_LOG_FILE_SIZE_BYTES.

  3. Para dirigir logs a la consola, para aplicaciones Python 2, configura logging.basicConfig() o similar. Los logs se envían automáticamente a la consola para aplicaciones Python 3.

Escenario 3: ddtrace versión 1.0.x a 1.2.x

  1. Para activar el modo de depuración: DD_TRACE_DEBUG=true

  2. Para dirigir logs a la consola, para aplicaciones Python 2 o Python 3, configura logging.basicConfig() o utiliza DD_CALL_BASIC_CONFIG=true.

Escenario 4: ddtrace versión 0.x

  1. Para activar el modo de depuración: DD_TRACE_DEBUG=true

  2. Para dirigir logs a la consola, para aplicaciones Python 2 o Python 3, configura logging.basicConfig() o utiliza DD_CALL_BASIC_CONFIG=true.

Escenario 5: Configuración del registro de depuración en el código de la aplicación con la biblioteca de registro estándar

Para cualquier versión de ddtrace, en lugar de establecer la variable de entorno del rastreador DD_TRACE_DEBUG, puedes habilitar el registro de depuración en el código de la aplicación utilizando directamente la biblioteca estándar de logging:

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

Revisar logs de depuración

Cuando el modo de depuración para tu rastreador está habilitado, los mensajes de log específicos del rastreador informan cómo se inicializó el rastreador y si las trazas fueron enviadas al Agent. Estos logs no son enviados al Datadog Agent en el flare y son almacenados en una ruta separada según tu configuración de registro. Los siguientes ejemplos de log muestran lo que podría aparecer en tu archivo de log.

Si hay errores que no entiendes, o si se informan trazas como descartadas en Datadog, pero no puedes verlas en la interfaz de usuario de Datadog, ponte en contacto con el soporte de Datadog y proporciona las entradas de log pertinentes con un flare.

Los logs generados por el rastreador de Python tienen el nombre de gestor de registro ddtrace.

Se generaron trazas:

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

Tramo generado por el rastreador de Python:

<YYYY-MM-DD> 19:51:22,251 DEBUG [ddtrace.tracer] [tracer.py:715] - finishing span name='flask.process_response' id=<SPAN ID> trace_id=<TRACE ID>  parent_id=<PARENT ID> 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/

Trazas enviadas al Datadog Agent:

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

Trazas que fallaron al ser enviadas al Datadog Agent:

<YYYY-MM-DD> 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

Leer más

Más enlaces, artículos y documentación útiles:

PREVIEWING: mahashree.rajendran/update-streams