Configurer des instantanés d'unité d'exécution dans l'agent APM

La fonction d'instantanés d'unité d'exécution permet la collecte d'instantanés d'une pile d'unités d'exécution qui peut être utilisée pour l'analyse en profondeur.

Les instantanés d'unité d'exécution permettent la collecte de traces telles que les instantanés de pile d'unités d'exécution, la surcharge de mémoire d'unité centrale, la surcharge d'unité centrale d'unité d'exécution et l'impact sur la trace. Il collecte les instantanés de la pile de fils et les données liées à la pile, telles que l'état et les verrous, à un intervalle spécifique.

Les utilisateurs peuvent activer la collection d'instantanés de pile de fils pour le vidage des intervalles de pile. Il fournit une visibilité de la pile de codes utilisateur.

L'intervalle de temps par défaut de la collecte des instantanés d'unité d'exécution est de 250 ms.

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

APM Java Agent et APM Tracer prennent en charge la collecte d'instantanés de thread. Pour plus de détails sur la configuration des instantanés d'unité d'exécution dans le traceur APM, voir Configurer les instantanés d'unité d'exécution dans le traceur APM.

Préalables

  1. Les instantanés d'unité d'exécution nécessitent JDK8 ou une valeur supérieure.

  2. Les instantanés d'unité d'exécution sont pris en charge sur la version 1.4 de l'agent Java APM ou une version supérieure.

Activer les instantanés d'unité d'exécution

Une fois l'agent Java APM provisionné, vous pouvez activer la fonction d'instantané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.
  • Remplacez la propriété suivante par la valeur true :
    com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true 

    Par défaut, la valeur de la propriété d'instantanés d'unité d'exécution est false (Fonction désactivée).

Propriétés de configuration

Le tableau ci-dessous présente les propriétés des instantanés de fil que vous pouvez configurer lors de l'exécution.

Nom de 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 d'instantanés en profondeur. Chaîne false Vrai/Faux
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 pour les exporter vers le collecteur. Numéro 200

Minimum : 1

Maximum : 1500

com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS Intervalle de collecte des données d'instantané de fil. Millisecondes 250

Minimum : 250

Maximum : 300000

com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace Nombre maximal d'instantané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 fil. Numéro 256

Minimum : 1

Maximum : 256

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

DÉBOGAGE, INFOS, AVERTISSEMENT, GRAVE

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

Minimum : 1

Maximum : 90

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

Minimum : 1

Maximum : 5

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold Seuil maximal pour tenir à jour l'utilisation globale de l'UC en profondeur. Pourcentage 5

Minimum : 5

Maximum : 20

com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold Seuil minimum 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 instantanés des unités d'exécution

  • Pour vérifier que la fonction d'instantanés d'unité d'exécution a été initialisée, vérifiez le fichier journal à 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 fonction d'instantanés d'unité d'exécution a été configurée correctement et que les données sont chargées dans Application Performance Monitoring, utilisez l'option Vue d'instantané de Voir les détails de la trace ou de l'étendue.