Updated on 2024-07-04 GMT+08:00

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

Loaded Classes

Number of loaded classes

-

INT

SUM

totalLoadedClassCount

Total Loaded Classes

Total number of loaded classes

-

INT

SUM

unloadedClassCount

Unloaded Classes

Number of unloaded classes

-

INT

SUM

Compilation (compile: JVM class compilation time statistics)

compilationTime

Compilation Time

Compilation time in a collection period

ms

INT

SUM

totalCompilationTime

Total Compilation Time

Total compilation time

ms

INT

SUM

CPU (CPU: CPU usage statistics of JVM processes)

cpuRatio

CPU Usage

CPU usage of the Java process

%

DOUBLE

AVG

cpuRatioMax

Max. CPU Usage

Maximum CPU usage of the Java process

%

DOUBLE

MAX

cpuTimeInterval

CPU Time

CPU time of the Java process in the collection interval

ns

INT

SUM

processorCount

Processors

Number of processors

-

INT

SUM

systemTimeInterval

Collection Interval

Collection interval

ns

INT

SUM

totalCpuTime

Total CPU Time

Total CPU time

ns

INT

SUM

Memory (memory: JVM memory statistics)

directMemoryUsage

Direct Memory

Used direct memory

M

INT

AVG

directMemoryCapacity

Direct Memory Capacity

Total direct memory capacity

M

INT

AVG

heapMemoryUsage

Heap Memory

Used heap memory

M

INT

AVG

nonHeapMemoryUsage

Non-Heap Memory

Used non-heap memory

M

INT

AVG

objectPendingFinalizationCount

Objects Being Recycled

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

-

INT

SUM

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

committed

Available Memory

Available memory

Byte

INT

SUM

init

Initialized Memory

Initialized memory

Byte

INT

SUM

max

Max. Memory

Maximum memory

Byte

INT

SUM

name

Memory Pool Name

Memory pool name

-

ENUM

LAST

used

Used Memory

Used memory

Byte

INT

SUM

Thread (thread: JVM thread statistics)

currentThreadCpuTime

Thread CPU Time

CPU time of the current thread

-

INT

SUM

currentThreadUserTime

Thread User Time

User time of the current thread

-

INT

SUM

daemonThreadCount

Daemon Threads

Number of daemon threads

-

INT

SUM

deadlockedThreadsCount

Deadlock Threads

Number of deadlock threads

-

INT

SUM

monitorDeadlockedThreads

Current Deadlock Threads

ID list of current deadlock threads

-

INT

SUM

peakThreadCount

Max. Threads Executed

Maximum number of threads executed

-

INT

SUM

threadCount

Current Threads

Number of current threads

-

INT

SUM

totalStartedThreadCount

Total Threads

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

-

INT

SUM

newThreadCount

Initial Threads

Number of threads in the initial state

-

INT

SUM

runnableThreadCount

Running Threads

Number of running threads

-

INT

SUM

blockedThreadCount

Blocked Threads

Number of blocked threads

-

INT

SUM

waitingThreadCount

Pending Threads

Number of pending threads

-

INT

SUM

timedWaitingThreadCount

Timed-out Threads

Number of threads that timed out

-

INT

SUM

terminatedThreadCount

Terminated Threads

Number of terminated threads

-

INT

SUM