Thread Dump
Thread Dump画面では、WASのスレッドダンプを収集し、収集したダンプを選択してスレッド別の状態とスタックトレースを確認できます。Thread dump Analyzerタブでは、スレッド状態の分布、CPU Hotspot分析、診断レポートを通じて応答遅延・ロック競合・スレッドプールの問題を素早く把握できます。
左側メニューでアプリケーション > 性能分析 > Thread Dumpを選択してください。

画面は上部の照会条件領域と、その下の3つのパネル(WAS List、Thread dump List、Selected Thread dump List)で構成されます。パネル下部にはThread dump DetailとThread dump Analyzerタブがあります。
照会条件を設定する
画面上部の条件領域で照会範囲を設定します。

- Period: スレッドダンプを照会する期間を設定します。最小1日から最大30日まで設定でき、日付単位でのみ指定されます。
- Group: 照会するWASグループを選択します。
- List: グループ内で照会するWASインスタンスを選択します。Allを選択すると、グループ全体のインスタンスを照会します。
設定が完了したら[Search]ボタンをクリックして照会します。
Thread dump Listでダンプを選択する
照会結果は画面左側のWAS Listと中央のThread dump Listに表示されます。

- WAS List: 照会期間内にスレッドダンプが収集されたWASインスタンスの一覧です。No、WAS名、Dump Countが表示されます。WASを選択すると、該当WASのスレッドダンプのみがThread dump Listに表示されます。
- Thread dump List: 選択したWASで収集されたスレッドダンプの一覧です。Timeカラムに収集時刻が表示されます。
Thread dump List右上の[Get]ボタンをクリックすると、現時点のスレッドダンプを即座に収集します。
[Get]ボタンでスレッドダンプを収集すると、JVMが一時的に停止し、サービス遅延が発生する場合があります。
分析するダンプを選択して適用する
Thread dump DetailタブとThread dump Analyzerタブで分析するダンプは、Selected Thread dump Listに登録する必要があります。最大5個まで選択できます。

- Thread dump Listで分析するスレッドダンプのチェックボックスを選択します。
- 中央の
>矢印ボタンをクリックして、選択した項目をSelected Thread dump Listに移動します。

- Selected Thread dump Listで適用する項目を確認した後、[Apply Selected Items]ボタンをクリックします。
適用が完了すると、下部タブに選択したダンプの分析結果が表示されます。
Thread dump Detailタブ
Thread dump Detailタブでは、選択したスレッドダンプの全スレッドを一覧で確認できます。

一覧上部のフィルター入力欄で、スレッド名で検索できます。
グリッドのカラムのうち、特記すべき項目は次の通りです。
- Status: スレッド状態をバッジで表示します。Runnable、Waiting、Blocked、Timed Waitingなどの状態が色で区分されます。
- CPU Time (sec): スレッドが使用したCPU時間(秒)です。
各行左側の>ボタンをクリックすると、該当スレッドの詳細情報が行の下に展開されます。
スレッド詳細情報を確認する
行を展開すると、StackセクションとStack Traceセクションが表示されます。
- Stackセクション: Thread ID、Lock Owner ID、Wait Count、Block Count、Waiting Time、Block Count、Waiting Time、Thread CPU Time、Status、Block Time、Thread Name、Lock Name、Lock Owner Nameなど、該当スレッドの詳細な属性を一覧表示します。
- Stack Traceセクション: スレッドのスタックトレース全文が表示されます。[Full Text]ボタンをクリックすると全文を確認でき、右側のコピーボタンでクリップボードにコピーできます。
Thread dump Analyzerタブ
Thread dump Analyzerタブでは、選択したスレッドダンプを自動分析した結果を確認できます。

タブは3つの領域で構成されます。
Thread Status Distribution / System Health
画面上部には、スレッド状態の分布とシステムの健全性が並んで表示されます。
Thread Status Distribution領域には、全スレッド数と状態別の数量が表示されます。
- Total: 全スレッド数(黒)
- Runnable: 実行中のスレッド数(青)
- Waiting: 待機中のスレッド数(黄)
- Blocked: ブロックされたスレッド数(赤)
System Health領域には、総合スコア(ゲージ)と6つのリスク指標が表示されます。
- Deadlock Occurrence: デッドロックの発生回数
- Lock Contention Risk: BLOCKED比率(%)
- Thread Pool Risk: WAITING比率(%)
- Resource Usage Risk (DB Thread): DBスレッドのリソース使用リスク度(%)
- Resource Usage Risk (IO Thread): IOスレッドのリソース使用リスク度(%)
- Responsiveness Risk: RUNNABLE比率(%)
健全性スコアは、80点以上であれば緑、60点以上であれば青、40点以上であれば黄、40点未満であれば赤で表示されます。
CPU Hotspot Analysis
CPU使用時間が500ms以上のスレッドをHotspotとして識別し、順位別に表示します。
- Rank: CPU使用時間基準の順位
- Thread Name: スレッド名
- Status: スレッド状態バッジ
- CPU(ms): CPU使用時間(ミリ秒)
- Pattern: CPU使用パターンを色付きバッジで区分します。
- PERSISTENT — 赤: 継続的にCPUを多く使用するスレッド
- BURST — 黄: 短時間に爆発的にCPUを使用するスレッド
- INTERMITTENT — 青: 間欠的にCPUを使用するスレッド
- LOW — 緑: CPU使用量が低いスレッド
- Recommendation: 該当スレッドに対する推奨事項
Diagnostic Report
画面下部のDiagnostic Reportでは、分析されたスレッドダンプを基に問題を診断し、推奨事項を提供します。

- Summary: 検出された主な問題を要約します。
- Impact Assessment: 問題がサービスに及ぼす影響度を評価します。
- Detected Issues: 検出された個別の問題(例: High Lock Contention、Suspected Thread Pool Leakなど)を一覧表示し、各問題別に影響を受けるスレッド数とユーザーへの影響を併せて表示します。
- Detailed Description (Root Causes): 各問題の根本原因と発生メカニズムを説明します。
Diagnostic Reportは、ロック競合・スレッドプールのリーク・応答遅延など複雑な障害原因を素早く絞り込むのに役立ちます。CPU Hotspot Analysisと併せて参照すると、問題となっているスレッドとコードパスを効果的に特定できます。