Java Services Metrics

MTG CLM, ACME, AEC, CMP, EST, SCEP, CARA WS, and the Revocation Information Service expose metrics for CPU, disk space, JVM memory, HTTP requests, garbage collection and threads. MTG CLM, ACME, and CARA WS also expose database connection-pool metrics.

Component labels

Each series includes application and host labels. host identifies the application instance.

Component application label

CLM

mtg-clm-server

ACME

mtg-acme-server

AEC

mtg-aec-server

CMP

mtg-cmp-server

EST

mtg-est-server

SCEP

mtg-scep-server

CARA WS

cara-ws-server

Revocation Information Service

mtg-ris-server

CPU, disk, process, and memory

These measurements are gauges. Memory labels identify the area, either heap or nonheap, and the memory-pool id. Disk measurements identify the monitored path.

Prometheus sample Unit Extra labels Meaning

system_cpu_usage

Ratio, normally 0-1

None

Recent CPU usage reported by the operating system available to the JVM.

process_cpu_usage

Ratio, normally 0-1

None

Recent CPU usage of the application JVM process.

process_start_time_seconds

Unix epoch seconds

None

JVM process start time.

disk_free_bytes

Bytes

path

Usable filesystem space for the monitored path.

disk_total_bytes

Bytes

path

Total filesystem capacity for that path.

jvm_memory_used_bytes

Bytes

area, id

Used memory in each JVM memory pool.

jvm_memory_committed_bytes

Bytes

area, id

Memory committed for the JVM to use in each pool.

jvm_memory_max_bytes

Bytes

area, id

Maximum pool capacity; -1 means undefined.

HTTP requests

Completed-request metrics use method, uri, status, outcome, exception, and error labels. The uri label normally contains the route pattern. Active-request metrics use the labels available when the request starts.

Prometheus sample Type and unit Meaning

http_server_requests_seconds_count

Cumulative count

Completed requests per label combination.

http_server_requests_seconds_sum

Cumulative seconds

Total duration of those completed requests.

http_server_requests_seconds_max

Gauge, seconds

Largest request duration in the timer’s rolling maximum window.

http_server_requests_active_seconds_count

Current count

Requests currently in progress.

http_server_requests_active_seconds_sum

Current seconds

Sum of elapsed durations of requests currently in progress.

http_server_requests_active_seconds_max

Gauge, seconds

Longest elapsed duration among requests currently in progress.

Garbage collection

GC timers use gc, action, and cause labels to identify the collector and collection event. jvm_gc_cpu_time_ns_total applies to CLM, ACME, AEC, CMP, EST, SCEP, and the Revocation Information Service on JVMs that supply GC CPU time.

Prometheus sample Type and unit Extra labels Meaning or condition

jvm_gc_overhead

Gauge, ratio

None

Recent GC pause time divided by the monitoring interval, approximating the fraction of time spent in GC.

jvm_gc_max_data_size_bytes

Gauge, bytes

None

Maximum size of long-lived heap pools.

jvm_gc_live_data_size_bytes

Gauge, bytes

None

Long-lived heap memory used after reclamation; updated on relevant GC events.

jvm_gc_memory_allocated_bytes_total

Counter, bytes

None

Positive allocation-pool growth between GC events. This is a GC-derived estimate.

jvm_gc_memory_promoted_bytes_total

Counter, bytes

None

Bytes promoted to old-generation memory during garbage collection.

jvm_gc_pause_seconds_count

Cumulative count

gc, action, cause

Recorded GC pauses.

jvm_gc_pause_seconds_sum

Cumulative seconds

gc, action, cause

Total recorded GC pause duration.

jvm_gc_pause_seconds_max

Gauge, seconds

gc, action, cause

Rolling maximum GC pause duration.

jvm_gc_concurrent_phase_time_seconds_count

Cumulative count

gc, action, cause

Recorded concurrent GC phases.

jvm_gc_concurrent_phase_time_seconds_sum

Cumulative seconds

gc, action, cause

Total recorded concurrent-phase duration.

jvm_gc_concurrent_phase_time_seconds_max

Gauge, seconds

gc, action, cause

Rolling maximum concurrent-phase duration.

jvm_gc_cpu_time_ns_total

Counter, nanoseconds

None

Accumulated CPU time used for garbage collection.

JVM threads

The state label identifies new, runnable, blocked, waiting, timed-waiting, or terminated threads.

Prometheus sample Type and unit Extra labels Meaning

jvm_threads_live_threads

Gauge, threads

None

Current live threads, including daemon and non-daemon threads.

jvm_threads_daemon_threads

Gauge, threads

None

Current live daemon threads.

jvm_threads_peak_threads

Gauge, threads

None

Peak live thread count since JVM start or the last peak reset.

jvm_threads_started_threads_total

Counter, threads

None

Total application threads started by the JVM.

jvm_threads_states_threads

Gauge, threads

state

Threads in each state: new, runnable, blocked, waiting, timed-waiting, or terminated.

Database connection pools

CLM and ACME

These metrics apply to CLM and ACME. Each series has a pool label.

Prometheus sample Type and unit Meaning

hikaricp_connections

Gauge, connections

Total connections in the pool.

hikaricp_connections_active

Gauge, connections

Connections currently borrowed.

hikaricp_connections_idle

Gauge, connections

Idle connections.

hikaricp_connections_pending

Gauge, threads

Threads waiting for a connection.

hikaricp_connections_max

Gauge, connections

Configured maximum pool size.

hikaricp_connections_min

Gauge, connections

Configured minimum idle connections.

hikaricp_connections_timeout_total

Counter, timeouts

Connection-acquisition timeouts.

hikaricp_connections_acquire_seconds_count

Cumulative count

Recorded connection acquisitions.

hikaricp_connections_acquire_seconds_sum

Cumulative seconds

Total acquisition wait time.

hikaricp_connections_acquire_seconds_max

Gauge, seconds

Rolling maximum acquisition wait time.

hikaricp_connections_creation_seconds_count

Cumulative count

Recorded connection creations.

hikaricp_connections_creation_seconds_sum

Cumulative seconds

Total connection creation time.

hikaricp_connections_creation_seconds_max

Gauge, seconds

Rolling maximum connection creation time.

hikaricp_connections_usage_seconds_count

Cumulative count

Recorded completed connection uses.

hikaricp_connections_usage_seconds_sum

Cumulative seconds

Total time connections were borrowed.

hikaricp_connections_usage_seconds_max

Gauge, seconds

Rolling maximum connection usage time.

CARA WS

CARA WS exposes Tomcat JDBC connection-pool metrics. Each series includes a name label identifying the datasource, in addition to application and host. All four metrics are gauges measured in connections.

Prometheus sample Type and unit Meaning

jdbc_connections_active

Gauge, connections

Connections currently borrowed from the pool.

jdbc_connections_idle

Gauge, connections

Established connections available for use.

jdbc_connections_max

Gauge, connections

Configured maximum number of connections that can be active at the same time.

jdbc_connections_min

Gauge, connections

Configured minimum number of idle connections.

HTTP metrics measure requests and response processing time. Use application audit records to examine individual certificate operations.