Skip to main content

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 main page 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 settings-icon 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 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

IndicationState
RUNNABLE
RUNNABLE (native)
WAITING
WAITING (suspended)
TIMED_WAITING
BLOCKED
TERMINATED
other

Settings

Clicking settings-icon 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 the Blocked count / Blocked time / Waited count / Waited time fields 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:

management.endpoints.web.exposure.include=axelix-thread-dump

See also