Configurar instantáneas de thread en el agente de APM

La función de instantáneas de subprocesos permite la recopilación de instantáneas de pila de subprocesos que se puede utilizar para un análisis detallado.

Las instantáneas de thread permiten recopilar rastreos como instantáneas de pila de subprocesos, sobrecarga de memoria de subprocesos, sobrecarga de CPU de subprocesos e impacto de gc en el rastreo. Recopila las instantáneas de la pila de subprocesos y los datos relacionados con la pila, como el estado y los bloqueos, en un intervalo específico.

Los usuarios pueden activar la recopilación de instantáneas de pila de subprocesos para realizar volcados de pila de períodos. Proporciona visibilidad de pila de código de usuario.

El intervalo de tiempo por defecto de recopilación de instantáneas de thread es de 250 ms.

Esta función está desactivada por defecto.

El agente Java de APM y el rastreador de APM soportan la recopilación de instantáneas de threads. Para obtener detalles sobre la configuración de instantáneas de threads en el rastreador de APM, consulte Configuración de instantáneas de threads en el rastreador de APM.

Requisitos

  1. Las instantáneas de thread necesitan JDK8 o superior.

  2. Las instantáneas de thread están soportadas en la versión APM Java Agent 1.4 o superior.

Activar instantáneas de thread

Una vez aprovisionado el agente Java de APM, puede activar la función de instantáneas de thread actualizando el archivo AgentConfig.properties que debe estar presente en la siguiente ubicación:

$DOMAIN_HOME/oracle-apm-agent/config

  • Abra el archivo AgentConfig.properties.
  • Actualice la siguiente propiedad al valor true:
    com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true 

    Por defecto, el valor de la propiedad de instantáneas de thread es false (función desactivada).

Propiedades de Configuración

En la siguiente tabla, se muestran las propiedades de instantáneas de thread que se pueden configurar en tiempo de ejecución.

Nombre de propiedad Descripción Unidad Valor por defecto Valores soportados
com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable Activar o desactivar la recopilación de instantáneas de profundización. Cadena false verdadero/falso
com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute Porcentaje máximo de rastreos entrantes por minuto para exportarlos al cobrador. Porcentaje 100

Mínimo: 1

Máximo: 100

com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute Número máximo de rastreos principales por minuto para exportarlos al cobrador. Número 200

Mínimo: 1

Máximo: 1500

com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS Intervalo en el que se recopilarán los datos de instantánea de thread. Milisegundos 250

Mínimo: 250

Máximo: 300000

com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace Número máximo de instantáneas permitidas por rastreo. Número 16

Mínimo: 1

Máximo: 16

com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot Máximo de marcos de rastreo de pila recopilados para cualquier thread. Número 256

Mínimo: 1

Máximo: 256

com.oracle.apm.agent.deepdive.logLevel Imprima logs de buceo profundo, que sean iguales o superiores a este valor de propiedad. Cadena INFO

DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, GRAVE

com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent Uso máximo de CPU de proceso. Se recomienda mantener el uso general de CPU del proceso por debajo de este umbral. Número 90

Mínimo: 1

Máximo: 90

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold Umbral mínimo para mantener el uso general profundo de la CPU. Porcentaje 3

Mínimo: 1

Máximo: 5

com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold Umbral máximo para mantener el uso general profundo de la CPU. Porcentaje 5

Mínimo: 5

Máximo: 20

com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold Umbral mínimo para un rastreo. Milisegundos 50

Mínimo: 50

Máximo: 60000

com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold Umbral máximo para un rastreo. Milisegundos 60000

Mínimo: 60000

Máximo: 600000

Verificar instantáneas de thread

  • Para verificar que se ha inicializado la función de instantáneas de thread, compruebe el archivo log desde la siguiente ubicación: $DOMAIN_HOME/oracle-apm-agent/deepdive/<server-name>/ApmDeepDiveAgent.log.

    El archivo log debe tener el siguiente aspecto:
     INFO [main] <DeepDiveManager> DeepDiveManger initialized successfully. 
  • Para verificar que la función de instantáneas de thread se ha configurado correctamente y que los datos se están cargando en Application Performance Monitoring, utilice la opción Vista de instantánea de Ver detalles de rastreo o período.