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
-
Les instantanés d'unité d'exécution nécessitent JDK8 ou une valeur supérieure.
-
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.