JVM Monitoring

This section describes the types, names, and meanings of JVM metrics collected by APM.

Table 1 Collection parameters for JVM monitoring

Parameter

Data Type

Application Type

Default

Supported Start Agent Version

Supported End Agent Version

Description

Trace Stack Collection Threshold

integer

JAVA

0

2.0.4

-

Stacks will be automatically printed when the request latency exceeds the threshold.

Table 2 JVM monitoring metrics

Category

Metric

Name

Description

Unit

Data Type

Default Aggregation Mode

Class loading (classLoading: JVM class loading statistics)

loadedClassCount

loadedClassCount

Number of loaded classes

-

INT

SUM

totalLoadedClassCount

totalLoadedClassCount

Total number of loaded classes

-

INT

SUM

unloadedClassCount

unloadedClassCount

Number of unloaded classes

-

INT

SUM

Compilation (compile: JVM class compilation time statistics)

compilationTime

compilationTime

Compilation time in a collection period

ms

INT

SUM

totalCompilationTime

totalCompilationTime

Total compilation time

ms

INT

SUM

CPU (CPU: CPU usage statistics of JVM processes)

cpuRatio

cpuRatio

CPU usage of the Java process

%

DOUBLE

AVG

cpuRatioMax

cpuRatioMax

Maximum CPU usage of the Java process

%

DOUBLE

MAX

cpuTimeInterval

cpuTimeInterval

CPU time of the Java process in the collection interval

ns

INT

SUM

processorCount

processorCount

Number of processors

-

INT

SUM

systemTimeInterval

systemTimeInterval

Collection interval

ns

INT

SUM

totalCpuTime

totalCpuTime

Total CPU time

ns

INT

SUM

Memory (memory: JVM memory statistics)

directMemoryUsage

directMemoryUsage

Used direct memory

M

INT

AVG

directMemoryCapacity

directMemoryCapacity

Total direct memory capacity

M

INT

AVG

heapMemoryUsage

heapMemoryUsage

Used heap memory

M

INT

AVG

nonHeapMemoryUsage

nonHeapMemoryUsage

Used non-heap memory

M

INT

AVG

objectPendingFinalizationCount

objectPendingFinalizationCount

Number of objects that are being recycled at the time of collection

-

INT

SUM

Memory pool (memoryPool: statistics collected by JVM memory pool)

committed

committed

Available memory

Byte

INT

SUM

init

init

Initialized memory

Byte

INT

SUM

max

max

Maximum memory

Byte

INT

SUM

name

name

Memory pool name

-

ENUM

LAST

used

used

Used memory

Byte

INT

SUM

Thread (thread: JVM thread statistics)

currentThreadCpuTime

currentThreadCpuTime

CPU time of the current thread

-

INT

SUM

currentThreadUserTime

currentThreadUserTime

User time of the current thread

-

INT

SUM

daemonThreadCount

daemonThreadCount

Number of daemon threads

-

INT

SUM

deadlockedThreadsCount

deadlockedThreadsCount

Number of deadlock threads

-

INT

SUM

monitorDeadlockedThreads

monitorDeadlockedThreads

ID list of current deadlock threads

-

INT

SUM

peakThreadCount

peakThreadCount

Maximum number of threads executed

-

INT

SUM

threadCount

threadCount

Number of current threads

-

INT

SUM

totalStartedThreadCount

totalStartedThreadCount

Total number of threads that are started since the Java process is started

-

INT

SUM

newThreadCount

newThreadCount

Number of threads in the initial state

-

INT

SUM

runnableThreadCount

runnableThreadCount

Number of running threads

-

INT

SUM

blockedThreadCount

blockedThreadCount

Number of blocked threads

-

INT

SUM

waitingThreadCount

waitingThreadCount

Number of pending threads

-

INT

SUM

timedWaitingThreadCount

timedWaitingThreadCount

Number of threads that timed out

-

INT

SUM

terminatedThreadCount

terminatedThreadCount

Number of terminated threads

-

INT

SUM