Configuration automatique

La collecte de métriques JVM est activée par défaut pour le traceur Java v0.29.0+. Elle peut être désactivée en définissant un paramètre de configuration dans le client de tracing, soit via la propriété système -Ddd.jmxfetch.enabled=false, soit via la variable d’environnement DD_JMXFETCH_ENABLED=false. Depuis la version 0.64.0, vous pouvez également utiliser la variable d’environnement DD_RUNTIME_METRICS_ENABLED=false pour désactiver la collecte.

Les métriques JVM peuvent être visualisées conjointement à vos services Java. Consultez la page Service dans Datadog.

Runtime JVM

Par défaut, les métriques runtime de votre application sont envoyées à l’Agent Datadog via DogStatsD sur le port 8125. Vérifiez que DogStatsD est activé pour l’Agent.

Si vous exécutez l’Agent en tant que conteneur, vérifiez que DD_DOGSTATSD_NON_LOCAL_TRAFFIC est définie sur true et que le port 8125 est ouvert sur l’Agent. En outre, pour :

Remarques :

  • Pour l’IU de runtime, dd-trace-java >= 0.24.0 est pris en charge.
  • Pour associer des métriques JVM dans des graphiques de performances, veillez à ce que env: tag (sensible à la casse) soit défini et corresponde sur l’ensemble de votre environnement.
  • Pour que les métriques JVM s’affichent sur la page Service lorsque vous utilisez Fargate, vérifiez que DD_DOGSTATSD_TAGS est défini sur la tâche de votre Agent et qu’il a pour valeur le env: tag de ce service.

Données collectées

Les métriques suivantes sont recueillies par défaut pour chaque process JVM après l’activation des métriques 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

Datadog fournit non seulement ces métriques sur votre page Service de l’APM, mais également un dashboard de runtime JVM par défaut.

En outre, vous pouvez ajouter des métriques JMX à l’aide de fichiers de configuration qui sont transmis à dd.jmxfetch.config.dir et dd.jmxfetch.config. Il est également possible d’activer chaque intégration JMX de Datadog à l’aide du paramètre dd.jmxfetch.<NOM_INTÉGRATION>.enabled=true. Cela intègre automatiquement la configuration des fichiers de configuration JMX existants de Datadog. Consultez la section relative à l’intégration JMX pour en savoir plus sur la configuration.

Pour aller plus loin