Configuración automática

La recopilación de métricas de tiempo de ejecución puede activarse con el parámetro de entorno DD_RUNTIME_METRICS_ENABLED=true cuando se ejecuta con ddtrace-run.

Si no utilizas ddtrace-run, puedes activar la recopilación de métricas de tiempo de ejecución en el código:

from ddtrace.runtime import RuntimeMetrics
RuntimeMetrics.enable()

Las métricas de tiempo de ejecución se pueden ver en correlación con tus servicios de Python. Consulta el Catálogo de servicios en Datadog.

Nota: Para la interfaz de usuario de tiempo de ejecución, se admite ddtrace >= 0.24.0.

Por defecto, las métricas de tiempo de ejecución de tu aplicación se envían al Datadog Agent con DogStatsD en el puerto 8125. Asegúrate de que DogStatsD está habilitado para el Agent. Si estás ejecutando el Agent como un contenedor, asegúrate de que DD_DOGSTATSD_NON_LOCAL_TRAFFIC está configurado como true y que el puerto 8125 está abierto en el Agent. En Kubernetes, vincula el puerto de DogStatsD a un puerto host; en ECS, establece los indicadores apropiados en tu definición de tarea.

Alternativamente, el Agent puede ingerir métricas con un Unix Domain Socket (UDS) como alternativa al transporte UDP. Para más información, lee DogStatsD en Unix Domain Socket.

Datos recopilados

Las siguientes métricas se recopilan por defecto después de activar las métricas de tiempo de ejecución:

runtime.python.cpu.time.sys
(gauge)
Number of seconds executing in the kernel
Shown as second
runtime.python.cpu.time.user
(gauge)
Number of seconds executing outside the kernel
Shown as second
runtime.python.cpu.percent
(gauge)
CPU utilization percentage
Shown as percent
runtime.python.cpu.ctx_switch.voluntary
(gauge)
Number of voluntary context switches
Shown as invocation
runtime.python.cpu.ctx_switch.involuntary
(gauge)
Number of involuntary context switches
Shown as invocation
runtime.python.gc.count.gen0
(gauge)
Number of generation 0 objects
Shown as resource
runtime.python.gc.count.gen1
(gauge)
Number of generation 1 objects
Shown as resource
runtime.python.gc.count.gen2
(gauge)
Number of generation 2 objects
Shown as resource
runtime.python.mem.rss
(gauge)
Resident set memory
Shown as byte
runtime.python.thread_count
(gauge)
Number of threads
Shown as thread

Además de mostrar estas métricas en tu Página de servicios de APM, Datadog proporciona un dashboard de métricas de tiempo de ejecución de Python predeterminado.

Referencias adicionales