Updated on 2023-08-21 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

M

INT

SUM

init

Initialized Memory

Initialized memory

M

INT

SUM

max

Max. Memory

Maximum memory

M

INT

SUM

name

Memory Pool Name

Memory pool name

-

ENUM

LAST

used

Used Memory

Used memory

M

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