Thread Dump
The Thread Dump page shows a live snapshot of every thread in the managed Spring Boot instance. The page polls the instance periodically, so the list, the thread states, and the timeline reflect recent JVM state rather than a frozen capture.
Thread Dump page as
presented in Axelix UI
The page is available to every authenticated user — VIEWER, EDITOR, ADMIN, and SUPER_ADMIN can all open it and toggle Thread Contention Monitoring. See Roles and authorities for the full role/authority matrix.
The top of the page hosts three controls:
- A search input that filters the thread list by name, the counter next to it shows
<matching> / <total>. - A Settings
button
that opens a modal with the Thread Contention Monitoring switch (see Settings below). - A sliding timeline strip used to pick the moment in time you want to inspect — selecting a range there drives the per-thread detail view below.
Threads are sorted by JVM priority and rendered as accordions. The header of each accordion shows the thread name, its current state, and a color-coded state indicator (see Thread state colors below).
Thread Dump Details
Thread Dump details
page as presented in Axelix UI
Expand a thread to see its detailed snapshot for the time range picked on the timeline:
- Thread id: JVM-assigned thread identifier.
- Thread name: Thread name.
- Thread state: JVM thread state (
RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED, …). - Priority: JVM thread priority.
- Blocked count: Total times the thread was blocked. Populated only while Thread Contention Monitoring is enabled — otherwise shown as Not Available.
- Blocked time: Time the thread spent blocked, in milliseconds. Populated only while Thread Contention Monitoring is enabled — otherwise shown as Not Available.
- Waited count: Total times the thread waited for notification. Populated only while Thread Contention Monitoring is enabled — otherwise shown as Not Available.
- Waited time: Time the thread spent waiting, in milliseconds. Populated only while Thread Contention Monitoring is enabled — otherwise shown as Not Available.
- Daemon: Whether the thread is a daemon thread.
- Locked by: Information about the lock object the thread is waiting on, when applicable:
- Class: Fully qualified class name of the lock object.
- Identity hash code: Identity hash code of the lock object.
- Stacktrace: Stack trace captured for the selected moment.
Thread state colors
| Indication | State |
|---|---|
| RUNNABLE | |
| RUNNABLE (native) | |
| WAITING | |
| WAITING (suspended) | |
| TIMED_WAITING | |
| BLOCKED | |
| TERMINATED | |
| other |
Settings
Clicking
opens a modal with
one switch:
- Thread Contention Monitoring — enables JMX contention monitoring on the instance's
ThreadMXBean. When on, the JVM tracks how long each thread spent BLOCKED and WAITING, which lights up theBlocked count/Blocked time/Waited count/Waited timefields above. When off, those four fields stay Not Available.
Note that contention monitoring has measurable JVM overhead, so production instances typically leave it disabled and turn it on only during a focused investigation.
Properties
The page is backed by the axelix-thread-dump actuator endpoint contributed by the Axelix Spring Boot Starter. Expose
it through the standard Spring Boot Actuator properties — see Configuring Spring Boot
Starter for the full list
of Axelix endpoints and surrounding setup:
- application.properties
- application.yaml
management.endpoints.web.exposure.include=axelix-thread-dump
management:
endpoints:
web:
exposure:
include:
- axelix-thread-dump