JFR イベントブラウザ
イベントブラウザは、JFR スナップショットに記録されたすべてのデータを表示します。
JFR はイベントタイプを階層的なカテゴリに整理し、イベントブラウザの左側にツリーを構成します。 単一のイベントタイプを選択して、記録されたイベントを表示できます。デフォルトでは、JProfiler はすべての登録されたイベントタイプを表示しますが、イベントが記録されていない場合でも表示されます。代わりに、ビュー設定ダイアログで空のイベントカテゴリを非表示にすることもできます。
JFR イベント
イベントはメインテーブルの行として表示され、列はイベントタイプのツリーでの選択に依存します。
テーブル内のイベントはデフォルトで時系列順にソートされます。UI の過負荷を避けるために、テーブルには最初の 10000 件のイベントのみが表示されます。下部の分析は常にすべてのイベントから計算されます。フィルターを設定すると、最初の 10000 件だけでなく、すべてのイベントをチェックします。つまり、フィルターを設定すると、以前は表示されていなかったイベントがテーブルに表示されることがあります。
複数のイベントタイプまたはカテゴリ全体を選択することもできます。その場合、選択されたすべてのイベントの合計がテーブルに表示されます。各イベントタイプには独自の列セットがあるため、選択されたすべてのイベントタイプに共通する列のみが含まれます。
利用可能な分析の数も減少する可能性があります。これは、分析ビューが利用可能な列に基づいて追加されるためです。
列の幅は、実際の内容に基づいて自動的に調整されますが、列をリサイズすると、同じ内容タイプの列の幅が選択に固定され、自動的に変更されなくなります。ビュー設定ダイアログで列の幅をクリアするまでです。時間やメモリのような単位を持つ列のスケールも各セルごとに自動的に計算されます。列のスケールを固定して比較しやすくする場合、ビュー設定ダイアログで各列に対してオプションが提供されます。この場合、設定は選択された各イベントタイプごとに個別に保存されます。
イベントをフィルタリングする方法はいくつかあります。テーブルの上部にはフィルターセレクターがあり、すべてのテキスト列でフィルターをかけるか、単一の列を選択して列タイプに一致するフィルターを設定できます。
別のフィルタリング方法として、関心のある行を選択し、コンテキストメニューを使用して選択した行の値に基づいて特定のフィルターを選択することができます。上部のフィルターセレクターが調整され、選択内容が表示されます。別の値を選択してフィルターを再度追加すると、同じ列の以前のフィルターが置き換えられます。一般的に、各フィルタータイプは一度しか存在できず、同じフィルターを再設定すると以前のフィルターが置き換えられます。
スタックトレース
JProfiler では、選択されたイベントのスタックトレースがイベントテーブルの下の分割ペインの「選択」タブに表示されます。
複数のイベントを選択すると、選択タブが変更され、選択されたイベントのスタックトレースから計算されたホットスポットまたは累積呼び出しツリーが表示されます。
デフォルトでは、イベント数が呼び出しツリーとホットスポットビューのノードのパーセンテージを決定します。いくつかのイベントタイプには、この目的に適した他の測定値、例えば持続時間や割り当てられたメモリが含まれています。これらの測定値が利用可能な場合、選択タブの2番目のドロップダウンからホットスポットタイプとして選択できます。
下部の分割ペインにある「ホットスポット」と「呼び出しツリー」ビューには同じビューが含まれていますが、スナップショット内のすべてのイベントに対して計算されます。選択タブと同様に、「ホットスポットタイプ」ドロップダウンもあります。すべてのイベントを表示することに加えて、これらのビューからフィルターを選択することもできます。呼び出しツリービューでは、特定の呼び出しスタックを選択し、選択したものをフィルターボタンをクリックすると、上のテーブルにはその呼び出しスタックを持つイベントのみが表示されます。ホットスポットビューでは、トップレベルのホットスポットまたはバックトレース内の任意のノードを選択して、選択したノードへの逆呼び出しスタックフラグメントで終わるスタックトレースを持つイベントのみが表示されます。
上のスクリーンショットでは、バックトレース内のノードがフィルターノードとして選択されていることがわかります。通常の呼び出しツリーアイコンに加えて、チェックマークも含まれています。フィルターは上部のタグラベルまたはフィルターを削除ボタンで削除できます。テーブル内のイベント数は選択されたノードの数と等しいです。ホットスポットツリーは、ホットスポットビューで設定されたフィルターなしですべてのイベントを表示し続けます。
これは、分析ビューから設定されたフィルターの一般的な機能です。分析ビュー自体は、すべてのフィルターされたイベントから計算されますが、分析ビューで設定されたフィルターを除外しています。これにより、分析ビューはより有用になります。なぜなら、選択した部分が全体のイベントセットのどの部分であるかを確認できるからです。
タイムラインビュー
すべての JFR イベントには関連する時間があるため、すべてのイベントタイプまたはイベントタイプのセットには、イベントの時間的な分布を示すタイムラインビューがあります。
特定の時間範囲に焦点を当てるには、時間軸に沿ってドラッグできます。上の例では、現在、ホットスポットのバックトレースからのフィルターとタイムラインビューからのフィルターの2つのフィルターがあります。再び、タイムラインビューは全体の時間範囲を表示し続けますが、他の分析ビューは選択された時間範囲からのイベントのみを表示します。
デフォルトの表示モードは対数であるため、イベント数が少ない領域でもイベント数が多い領域に対して可視性が保たれます。タイムラインの下のlogボタンを選択解除することで線形モードに切り替えることができます。デフォルトでは、全体の時間範囲が利用可能な幅で表示されますが、可変時間範囲に切り替えて、JProfiler の他のテレメトリーと同様にズームやスクロールが可能です。また、ブックマークも利用可能で、選択した時間範囲に垂直マーカーを追加できます。このようにして、異なるイベントタイプ間で時間の瞬間を比較できます。
ヒストグラムビュー
複数のイベントに対して合計できるすべての測定値、例えば持続時間や割り当てサイズは、特別な方法で処理されます。まず、イベントテーブルのこれらの測定値の列には、下部に合計値があります。次に、呼び出しツリーとホットスポット分析ビューは、イベント数の代わりにこれらの測定値でツリーを計算するための「ホットスポットタイプ」ドロップダウンを提供します。最後に、これらの測定値ごとに、下部の分割パネルにヒストグラム分析が追加されます。
ヒストグラムは、垂直軸にイベント数を表示し、水平軸には選択された測定値を表示し、分布を計算できるように複数のビンに分割されます。ビンサイズとイベント数はツールチップから利用可能です。
上のスクリーンショットは、ヒストグラムにフィルターが設定された様子を示しています。他の分析ビューと同様に、フィルターは他の分析ビューにのみ適用され、ヒストグラム全体は引き続き表示されます。タイムラインビューと同様に、ヒストグラムはデフォルトで対数垂直軸を持っています。ここで、スクリーンショットで選択されたイベントは、線形軸では表示されません。