← all repositories
irockel/tda

Your Java thread dumps deserve better than grep and prayer

TDA is a Swing GUI and MCP server that parses, categorizes, and diagnoses thread dumps so you don't have to read raw stack traces at 2 AM.

tda
Velocity · 7d
+0.1
★ / day
Trend
steady
star history

What it does TDA ingests Java thread dumps from log files or live JVMs and presents them in a navigable tree view. It detects deadlocks, flags long-running threads across consecutive dumps, analyzes virtual thread pinning, and even parses experimental JSON dumps from jcmd. You can run it standalone, as a VisualVM/JConsole plugin, or headless as an MCP server for AI tools.

The interesting bit The MCP server mode is the twist: instead of feeding megabytes of raw stack traces to Cursor or Claude, you point the AI at TDA’s structured tools (check_deadlocks, find_long_running, analyze_virtual_threads). The AI gets summaries, not noise. There’s even a recommended system prompt to stop agents from cat-ing entire log files.

Key highlights

  • Parses Java 1.4 through Java 21+, including virtual threads and carrier thread pinning detection
  • JSON dump support (experimental, though the README notes textual dumps remain richer for deep analysis)
  • Self-contained JAR, native macOS DMG with bundled runtime, or VisualVM plugin
  • Session save/reopen for iterative debugging
  • SMR (Safe Memory Relocation) zombie thread detection in MCP mode

Caveats

  • The macOS DMG is unsigned; you must right-click-open and bypass Gatekeeper
  • VisualVM Plugin Center only lists version 2.4; newer versions require manual NBM installation from Releases
  • JSON dumps currently lack thread states and native IDs, so the README explicitly recommends textual dumps for “in-depth analysis”

Verdict Worth a look if you’re still diagnosing production deadlocks with grep -A 20 or want to hand thread dump analysis off to an AI agent without token-billing yourself into poverty. Skip if you’re already happy with your APM’s built-in thread analysis or exclusively on non-macOS platforms where the native packaging doesn’t matter.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.