Fully featured low overhead profiler for Java EE and Java SE platforms.
Monitoring and profiling solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Threads

When you are connected to the profiled application, use the "Threads" tab to track the live threads.

The telemetry information is remembered in a circular buffer in the profiler agent memory. This allows you to connect to a profiled application on demand and discover how the application behaved in the past.

The buffer capacity is 1 hour by default, and can be changed with the startup option telemetrylimit.

Please also consider the automatic deadlock detector

Disabling/enabling stack telemetry

The thread stack and state telemetry information can be very useful because it allows you to connect to the profiled application on demand and discover how the application behaved in the past. In most cases, there is no significant overhead of collecting this information, and thus you do not need to disable it.

However, it makes sense to disable it in production Java EE servers in order to ensure minimum profiling overhead.

The telemetry is enabled by default, unless "disablestacktelemetry" startup option was specified.

When you are connected to the profiled application, use corresponding toolbar button to enable/disable the telemetry:

Threads in HPROF snapshots

For HPROF snapshot, "Threads" tab shows thread stacks at the moment of the snapshot capture (if available).