エージェントリソースダッシュボード設定
要求事項
WhaTap Javaエージェントの2.2.39バージョン以降が必要です。
エージェントリソースダッシュボードメニューで個別のJavaエージェントのメモリ、トランザクション、スレッドなどの主要指標をリアルタイムでモニタリングし、最大3時間前の過去の時点まで照会できます。 これにより、メモリ使用量の変化、活性化されたトランザクション、実行中のスレッド情報を把握し、リソースの問題を引き起こす原因を分析できます。

基本画面
エージェントリソースダッシュボードにより、現在実行中のエージェントのメモリプール状態と関連指標の変化の推移を一目で確認できます。 ダッシュボードで確認できるリアルタイムのJavaメモリ領域及び主な指標は次のとおりです。
ウィジェット案内
リアルタイムJavaメモリ領域ウィジェット
Java領域別リアルタイムウィジェットを通じてJVMの主要メモリプールの状態をリアルタイムで確認できます。 各Javaメモリ領域チャートは、使用中の容量(MB)と比率(%)を表示します。
-
Metaspace
クラスメタデータを保存する領域です。
-
CodeHeap non-profiled nmethod, CodeHeap profiled nmethod, CodeHeap non-nmethods
JIT(Just-In-Time)コンパイラが生成したマシンコードを保存する領域であり、CodeHeap non-profiled nmethod、CodeHeap profiled nmethod、CodeHeap non-nmethodsは、それぞれコンパイルされたコードを用途に応じて絞り込んで保管します。
-
G1 Survivor Space
G1 GCで生き残ったオブジェクトが一時的に保存される領域です。
-
G1 Eden Space
新しく作成されたオブジェクトが最初に割り当てられる領域です。
-
G1 Old Gen
Young GCを経て、生き残ったオブジェクトが移動する領域です。 メモリが増加した場合、Old Genを中心にリークが発生しているかを確認できます。
-
Compressed Class Space
クラス関連のポインタを圧縮して保存する領域で、Metaspaceとは別に管理されます。
-
個別チャート: 各指標を別の棒形式で表示し、指標ごとに最大値を明確に比較できます。
-
統合チャート: 全体に対する各指標の相対的な大きさを一目で把握できます。
-
ドーナツチャート: 全体を円形の割合で表現し、各指標が占める割合を確認できます。
-
マルチラインチャート: 全指標の推移を確認できます。
主要指標ウィジェット
-
Memory
全体メモリ使用率(%)を表示します。 Eden、Old Gen、Metaspaceなど内部構成を総合した総使用量です。
-
CpuTime
JVMがアプリケーションコードの実行に費やされたCPU時間をミリ秒(ms)単位で示します。
-
GCCount, GCOldgenCount
GCCountは、一定周期内に発生したGC回数、GCOldgenCountは、Old領域を対象としたGC回数のみ別途集計します。
-
GCTime
Garbage Collectionに費やされた時間をms単位で表示します。
-
Cpu
JVMプロセスのCPU使用率(%)を示します。
-
TPS
1秒あたりのトランザクション処理回数を表示します。
-
FileDescriptor
開いているファイルやソケットなど、現在使用中のファイルディスクリプターの数を示します。
-
ObjectPendingFinalizationCount
GCが処理すべきオブジェクトが
finalize()待機状態のまま残っている個数を表示します。
リアルタイム照会
リアルタイム照会時、上段右側のヒープヒストグラム、アクティブTX、Runnableスレッドボタンを通してリソース詳細パネルを確認できます。

ヒープヒストグラム
ヒープヒストグラムタブで現在ヒープメモリに常駐しているJavaクラスの情報を分析し、メモリを最も多く占めるクラスTOP100を照会できます。 過度にメモリを占有するクラスがある場合、メモリリークの可能性が疑われます。
アクティブTX
アクティブTXタブで実行中のトランザクションのリストを照会できます。 開始時刻、トランザクション経過時間、SQL/HTTP呼び出しなどの詳細情報を確認できます。 特定のトランザクションが時間がかかるか、リソースを大量に使用しているかを確認することで、ボトルネック区間を特定できます。
Runnableスレッド
Runnableスレッドタブで現在JVMでRunnable状態のスレッドリストをリアルタイムで確認できます。 CPU使用量が高くなったり、レスポンスが遅れたりする場合、どのスレッドが問題を引き起こすかを把握するのに役立ちます。
過去時点照会
タイムセレクターは、過去の特定時点を選択した後、その時点のリソースの状態を確認できます。 最大3時間前のリソース状態を照会し、その時点で発生したトランザクション、SQL、HTTP呼び出し情報を分析できます。 これにより、CPUやメモリ使用量が急騰したり、TPSが急減した時点の原因を効果的に追跡できます。

過去の時点を照会する際、上段右側のTX、SQL統計、HTTPC統計ボタンをクリックすると、各上位30個の統計情報が確認できる統計Top 30パネルを照会できます。

TX統計
TXタブで特定時点に行われたトランザクションをレスポンスタイム、実行回数などの条件でソートし、上位30個のリストを照会できます。 レスポンスタイムが長いか、実行回数が多い項目を優先的に確認できます。
平均メモリ割当量照会設定
過去時点のトランザクション統計で平均メモリ割当量項目が表示されない場合は、次のオプションを活性化有無を確認します。 ただし、このオプションは平均TPSが高いアプリケーションでは性能の影響が発生する可能性があるため、平均TPS 300 以下の環境でのみ適用をお勧めします。
-
trace_malloc_enabled Boolean
既定値
falseトランザクションごとの平均メモリ割当量を収集します。
SQL統計
SQLタブで特定の時点で実行されたSQLクエリを実行回数、全体時間などのソート条件によって上位30個のリストを照会できます。 DB負荷が増加した場合、同一時点で実行されたSQLクエリの中で高いコストを占めるクエリを把握できます。
HTTPC統計
HTTPCタブで外部HTTP呼び出し情報をソートして上位30個のリストを照会できます。 外部APIや内部HTTPリクエストが多い時点でボトルネック発生有無を確認できます。