Jstackfx
JStackFX, a tool for analyzing thread dumps.
Install / Use
/learn @twasyl/JstackfxREADME
Context
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.
Requirements
JStackFX requires the latest JDK 8 available on your system.
Build
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
Execution
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.
Screenshot````

Usage
SearchingF
Use the search bar in JStackFX to filter results. A query must have the following syntax:
fieldName comparator value operand fieldName comparator value ...
- fieldName can be: state, number, threadId, priority or osPriority
- comparator can be: =, !=, <=, <, >= or >
- operand can be: and or or
<u>Examples:</u>
- List all RUNNABLE threads:
state = runnable - Display threads having number 10 or 20:
number = 10 or number = 20 - Display threads having number 10 or thread having number 20 and is in state BLOCKED:
number = 10 or number = 20 and state = blocked
Release notes
Version 1.3
New and noteworthy:
- Support for operators
<=,<,>=and> - UI improvements
Version 1.2
New and noteworthy:
- Display the number of results in the search bar
- Allow to display thread elements' source from the dumpTimeline file
- UX improvements
Version 1.1
New and noteworthy:
- Adding a search bar for filtering results
- Change the cursor when over a blocked or blocking thread in the table
- Make some information of the thread copyable
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
