Configuración automática

La recopilación de métricas de JVM está habilitada por defecto para Java Tracer v0.29.0+. Puedes deshabilitarla con un parámetro de configuración en el cliente de rastreo, ya sea mediante una propiedad del sistema, -Ddd.jmxfetch.enabled=false, or through an environment variable, DD_JMXFETCH_ENABLED=false. . As of v0.64.0+, you can also use the variable de entorno DD_RUNTIME_METRICS_ENABLED=false para deshabilitarla.

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

Tiempo de ejecución de JVM

Por defecto, las métricas de tiempo de ejecución de tu aplicación se envían al Datadog Agent con DogStatsD por 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 se establece en true y que el puerto 8125 está abierto en el Agent. Además, para:

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.

Notas:

  • Para la interfaz de usuario de tiempo de ejecución, se admite dd-trace-java >= 0.24.0.
  • Para asociar métricas de JVM dentro de las gráficas de llamas, asegúrate de que env: tag (distingue entre mayúsculas y minúsculas) está configurada y coincide en tu entorno.
  • Para que las métricas de JVM aparezcan en la Página de servicios cuando usas Fargate, asegúrate de que DD_DOGSTATSD_TAGS está configurado en tu tarea del Agent, y coincide con la env: tag de ese servicio.

Datos recopilados

Las siguientes métricas se recopilan por defecto por proceso de JVM después de activar las métricas de JVM.

jvm.heap_memory
(gauge)
The total Java heap memory used.
Shown as byte
jvm.heap_memory_committed
(gauge)
The total Java heap memory committed to be used.
Shown as byte
jvm.heap_memory_init
(gauge)
The initial Java heap memory allocated.
Shown as byte
jvm.heap_memory_max
(gauge)
The maximum Java heap memory available.
Shown as byte
jvm.non_heap_memory
(gauge)
The total Java non-heap memory used. Non-heap memory is calculated as follows: Metaspace + CompressedClassSpace + CodeCache
Shown as byte
jvm.non_heap_memory_committed
(gauge)
The total Java non-heap memory committed to be used.
Shown as byte
jvm.non_heap_memory_init
(gauge)
The initial Java non-heap memory allocated.
Shown as byte
jvm.non_heap_memory_max
(gauge)
The maximum Java non-heap memory available.
Shown as byte
jvm.thread_count
(count)
The number of live threads.
Shown as thread
jvm.gc.cms.count
(count)
The total number of garbage collections that have occurred.
jvm.gc.major_collection_count
(gauge)
The rate of major garbage collections. Set new_gc_metrics: true to receive this metric.
jvm.gc.minor_collection_count
(gauge)
The rate of minor garbage collections. Set new_gc_metrics: true to receive this metric.
jvm.gc.parnew.time
(gauge)
The approximate accumulated garbage collection time elapsed.
Shown as millisecond
jvm.gc.major_collection_time
(gauge)
The fraction of time spent in major garbage collection. Set new_gc_metrics: true to receive this metric.
Shown as permille
jvm.gc.minor_collection_time
(gauge)
The fraction of time spent in minor garbage collection. Set new_gc_metrics: true to receive this metric.
Shown as permille

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

Se pueden añadir métricas de JVM adicionales mediante archivos de configuración que se pasan utilizando dd.jmxfetch.config.dir y dd.jmxfetch.config. También puedes activar integraciones de JMX y Datadog existentes de forma individual con el parámetro dd.jmxfetch.<INTEGRATION_NAME>.enabled=true. Esto introduce automáticamente la configuración de los archivos de configuración de JMX existentes de Datadog. Consulta integración de JMX para obtener más información sobre la configuración.

Leer más