Configurer des clichés de thread dans l'agent APM

La fonctionnalité d'instantanés de thread permet la collecte d'instantanés de pile de threads, qui peut être utilisée pour l'analyse de profondeur.

Les instantanés de thread permettent la collecte de traces telles que les instantanés de pile de threads, le temps système de la mémoire des threads, le temps système de la CPU des threads et l'impact sur la trace. Il collecte les instantanés de pile de threads et les données associées à la pile, telles que l'état et les verrous, à un intervalle spécifique.

Les utilisateurs peuvent activer la collecte d'instantanés de pile de threads pour effectuer un vidage de pile des étendues. Elle fournit une visibilité sur la pile de code utilisateur.

L'intervalle de temps par défaut de la collecte d'instantanés de thread est de 250 ms.

Cette fonctionnalité est désactivée par défaut.

L'agent Java APM et le traceur APM prennent en charge la collecte de clichés de thread. Pour plus d'informations sur la configuration des instantanés de thread dans le traceur APM, reportez-vous à la section Configure Thread Snapshots in APM Tracer.

Prérequis

  1. Les clichés de thread requièrent JDK8 ou une valeur supérieure.

  2. Les clichés de thread sont pris en charge sur l'agent Java APM version 1.4 ou supérieure.

Activer les clichés de thread

Une fois l'agent Java APM provisionné, vous pouvez activer la fonctionnalité de clichés de thread en mettant à jour le fichier AgentConfig.properties qui doit être présent à l'emplacement suivant :

$DOMAIN_HOME/oracle-apm-agent/config

  • Ouvrez le fichier AgentConfig.properties.
  • Mettez à jour la propriété suivante sur la valeur true :
    com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true 

    Par défaut, la valeur de la propriété des clichés de thread est false (fonction désactivée).

Propriétés de configuration

Le tableau ci-dessous présente les propriétés d'instantanés de thread qui peuvent être configurées lors de l'exécution.

Nom de la propriété Description Unité Valeur par défaut Valeurs prises en charge
com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable Activer ou désactiver la collecte de clichés approfondis. Chaîne False true/false
com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute Pourcentage maximal de traces entrantes par minute à exporter vers le collecteur. Pourcentage 100

Minimum : 1

Maximum : 100

com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute Nombre maximal de traces supérieures par minute à exporter vers le collecteur. Numéro 200

Minimum : 1

Maximum : 1500

com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS Intervalle auquel les données d'instantané de thread seront collectées. Millisecondes 250

Minimum : 250

Maximum : 300000

com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace Nombre maximal de clichés autorisés par trace. Numéro 16

Minimum : 1

Maximum : 16

com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot Nombre maximal de trames de trace de pile collectées pour n'importe quel thread. Numéro 256

Minimum : 1

Maximum : 256

com.oracle.apm.agent.deepdive.logLevel Imprimez les journaux de plongée profonds, égaux ou supérieurs à cette valeur de propriété. Chaîne INFO

DÉBOGAGE, INFOS, AVERTISSEMENT, GRAVITÉ

com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent Utilisation maximale de l'UC de processus. Il est recommandé de maintenir l'utilisation globale de l'UC de processus sous ce seuil. Numéro 90

Minimum : 1

Maximum : 90

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold Seuil minimal pour maintenir une utilisation globale approfondie de l'UC. Pourcentage 3

Minimum : 1

Maximum : 5

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold Seuil maximal pour maintenir une utilisation globale approfondie de la CPU. Pourcentage 5

Minimum : 5

Maximum : 20

com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold Seuil minimal pour une trace. Millisecondes 50

Minimum : 50

Maximum : 60000

com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold Seuil maximal pour une trace. Millisecondes 60000

Minimum : 60000

Maximum : 600000

Vérifier les clichés de thread

  • Pour vérifier que la fonctionnalité d'instantanés de thread a été initialisée, consultez le fichier journal à partir de l'emplacement suivant : $DOMAIN_HOME/oracle-apm-agent/deepdive/<server-name>/ApmDeepDiveAgent.log.

    Le fichier journal doit se présenter comme suit :
     INFO [main] <DeepDiveManager> DeepDiveManger initialized successfully. 
  • Pour vérifier que la fonctionnalité d'instantanés de thread a été configurée correctement et que les données sont téléchargées vers Application Performance Monitoring, utilisez l'option Vue d'instantané de Visualiser les détails de trace ou d'étendue.