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
-
Les clichés de thread requièrent JDK8 ou une valeur supérieure.
-
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.