It is not an easy task to analyse thread dumps as files generated by the jstack
tool provides raw text files.
This is why I'm developing JStackFX.
JStackFX requires the latest JDK 8 available on your system.
As JStackFX is currently under development, you can build it manually in order to have the latest version. In order to build it, ensure the JDK 8 is available and execute the following command:
gradlew clean assemble
In order to start JStackFX, unzip the build/distributions/JStackFX-<version>.zip
archive and start a command line within the unzipped folder. Execute the following command:
java -jar jstackfx-<version>.jar
In order to start JStackFX and open directly a dumpTimeline file you can use the following command:
java -jar jstackfx-<version>.jar --file=/path/to/dumpTimeline.txt
In order to start JStackFX and make a thread dumpTimeline of a given process you can use the following command:
java -jar jstackfx-<version>.jar --pid=<pid of the process to dumpTimeline>
Warning: if both --pid
and --file
parameters are used, --file
is ignored.
Use the search bar in JStackFX to filter results. A query must have the following syntax:
fieldName comparator value operand fieldName comparator value ...
Examples:
state = runnable
number = 10 or number = 20
number = 10 or number = 20 and state = blocked
New and noteworthy:
<=
, <
, >=
and >
New and noteworthy:
New and noteworthy: