Configura snapshot thread in agente APM
La funzione Snapshot thread consente la raccolta di snapshot dello stack di thread che possono essere utilizzati per l'analisi approfondita.
Gli snapshot thread consentono la raccolta di trace quali gli snapshot dello stack di thread, il sovraccarico di memoria dei thread, il sovraccarico della CPU di thread e l'impatto di gc sul trace. Raccoglie gli snapshot dello stack di thread e i dati correlati allo stack, ad esempio stato e lock, a un intervallo specifico.
Gli utenti possono abilitare la raccolta di snapshot dello stack di thread per l'acquisizione del dump dello stack degli intervalli. Offre visibilità sullo stack di codice dell'utente.
L'intervallo di tempo predefinito per la raccolta delle istantanee thread è 250 ms.
Il valore minimo consigliato è di almeno 100 MB per le piattaforme a 32 bit e di almeno 144 MB per le piattaforme a 64 bit.
APM Java Agent e APM Tracer supportano la raccolta di snapshot thread. Per informazioni dettagliate sulla configurazione degli snapshot di thread in APM Tracer, vedere Configura snapshot di thread in APM Tracer.
Prerequisiti
-
Gli snapshot thread richiedono JDK8 o versione successiva.
-
Gli snapshot thread sono supportati nella versione 1.4 o successiva di APM Java Agent.
Abilita snapshot thread
Dopo aver eseguito il provisioning dell'agente Java APM, è possibile abilitare la funzione Snapshot thread aggiornando il file AgentConfig.properties
che deve essere presente nella seguente posizione:
$DOMAIN_HOME/oracle-apm-agent/config
- Aprire il file
AgentConfig.properties
. - Aggiornare la proprietà seguente al valore
true
:com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true
Per impostazione predefinita, il valore della proprietà relativa alle istantanee dei thread è
false
(funzione disabilitata).
Proprietà di configurazione
La tabella riportata di seguito mostra le proprietà degli snapshot thread che è possibile configurare in runtime.
Nome proprietà | descrizione; | Unità | Valore predefinito | Valori supportati |
---|---|---|---|---|
com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable | Abilita o disabilita la raccolta di snapshot di approfondimento. | Stringa | false | true/false |
com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute | Percentuale massima di trace in entrata al minuto per esportarli nel collector. | Percentuale | 100 |
minimo:1 Massimo: 100 |
com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute | Numero massimo di prime tracce al minuto per esportarle nel collector. | Numerico | 200 |
minimo:1 Massimo: 1500 |
com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS | Intervallo in base al quale verranno raccolti i dati dello snapshot del thread. | millisecondi | 250 |
Minima:250 Massimo: 30000 |
com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace | Numero massimo di snapshot consentiti per trace. | Numerico | 16 |
Minima: 1 Massima: 16 |
com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot | Numero massimo di frame di stack trace raccolti per qualsiasi thread. | Numerico | 256 |
Minima: 1 Massimo: 256 |
com.oracle.apm.agent.deepdive.logLevel | Stampa i log di approfondimento, uguali o superiori a questo valore di proprietà. | Stringa | Informazioni |
DEBUG, INFO, AVVISA, GRAVE |
com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent | Uso massimo della CPU del processo. Si consiglia di mantenere l'uso complessivo della CPU del processo sotto questa soglia. | Numerico | 90 |
Minima: 1 Massimo: 90 |
com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold | Soglia minima per mantenere l'uso complessivo della CPU deepdive. | Percentuale | 3 |
Minima: 1 Massimo: 5 |
com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold | Soglia massima per mantenere l'uso complessivo della CPU deepdive. | Percentuale | 5 |
Minima: 5 Massima: 20 |
com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold | Soglia minima per una traccia. | millisecondi | 50 |
Minima: 50 Massimo: 60000 |
com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold | Soglia massima per una traccia. | millisecondi | 60000 |
Minima: 60000 Massimo: 600000 |
Verifica snapshot thread
-
Per verificare che la funzione Snapshot thread sia stata inizializzata, controllare il file di log dalla seguente posizione:
$DOMAIN_HOME/oracle-apm-agent/deepdive/<server-name>/ApmDeepDiveAgent.log
.Il file di log dovrebbe avere l'aspetto seguente:INFO [main] <DeepDiveManager> DeepDiveManger initialized successfully.
-
Per verificare che la funzione Snapshot thread sia stata configurata correttamente e che i dati siano stati caricati in Application Performance Monitoring, utilizzare l'opzione Vista snapshot in Visualizza dettagli trace o intervallo.