irockel/tda

TDA - Thread Dump Analyzer (for Java). Analyze your Thread Dumps with a GUI or use it as MCP Server.

何を解決するか

TDA(Thread Dump Analyzer)は、Java開発者がパフォーマンスのボトルネック、デッドロック、メモリ問題を診断するのを支援します。Java VMのスレッドダンプやヒープ情報の構造化された分析方法を提供し、ログファイルから得られる複雑な生のスタックトレースを手動で読む必要をなくします。

動作方法

TDAはテキストまたはJSON形式のスレッドダンプを解析し、直感的なツリー構造に整理します。スタンドアロンのGUIアプリケーション、VisualVMやJConsole用のプラグイン、またはヘッドレスなMCPサーバーとして使用できます。MCPモードでは、check_deadlocksfind_long_running といったツールを公開し、AIエージェントが生のファイル全体を読まずにプログラム的にログを分析できるようにします。

対象ユーザー

生産環境の問題をデバッグする必要があるJava開発者やシステム管理者。特に、仮想スレッドのピンニングを分析したり、Javaアプリケーション内の停止したスレッドを特定したい方(Java 1.4.x から 21+ まで対応)。

特徴

  • AI連携:AIツール(CursorやClaude Desktopなど)によるヘッドレス分析を可能にするModel Context Protocol(MCP)を実装。
  • 仮想スレッド対応:Java 19以降で使用可能な仮想スレッドのピンニングおよびキャリアスレッド関係を専用検出。
  • デッドロック検出:詳細なモニタ情報とともに、デッドロックを自動的に識別。
  • マルチモード展開:スタンドアロンJAR、VisualVMプラグイン、JConsoleプラグイン、またはネイティブmacOSバイナリとして利用可能。
  • 長時間実行スレッド検出:連続するダンプを比較して、複数のスナップショットにわたって継続するスレッドを特定。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト