呼び出しツリーの部分を表示する
呼び出しツリーにはしばしば情報が多すぎます。表示される詳細を減らしたい場合、いくつかの方法があります。特定のサブツリーに表示データを制限する、不要なデータをすべて削除する、またはメソッドコールを表示するためのより粗いフィルターを使用することができます。これらの戦略はすべてJProfilerによってサポートされています。
呼び出しツリーのルートを設定する
複数のタスクが順次実行されるユースケースをプロファイルする場合、各サブツリーを個別に分析できます。そのようなサブタスクのエントリーポイントを見つけたら、周囲の呼び出しツリーは単なる気を散らすものであり、サブツリー内のタイミングの割合が全体の呼び出しツリーのルートを参照するのは不便です。
特定のサブツリーに焦点を当てるために、JProfilerは呼び出しツリーと割り当て呼び出しツリービューでルートとして設定コンテキストアクションを提供します。
呼び出しツリーのルートを設定した後、選択したルートに関する情報がビューの上部に表示されます。スクロール可能なラベルにはルートに至るまでの最後のスタック要素が表示され、詳細を表示ボタンをクリックすると、呼び出しツールートの全スタックを含む詳細ダイアログが表示されます。
ルート設定アクションを再帰的に使用すると、呼び出しスタックのプレフィックスが単純に連結されます。前の呼び出しツリーに戻るには、呼び出しツリー履歴の戻るボタンを使用して1回のルート変更を元に戻すか、コンテキストメニューのルートをリセットしてすべてを表示アクションを使用して、元のツリーに一度に戻ることができます。
呼び出しツールートを変更する際に最も重要なのは、ホットスポットビューが選択されたルートのみに対して計算されたデータを表示し、ツリー全体に対してではないことです。ホットスポットビューの上部には、呼び出しツリービューと同様に現在の呼び出しツールートが表示され、表示されているデータのコンテキストを思い出させます。
呼び出しツリーの部分を削除する
特定のメソッドが存在しない場合に呼び出しツリーがどのように見えるかを確認することが役立つ場合があります。たとえば、開発環境のように迅速に反復できない本番システムのスナップショットを使用しているため、一度に複数のパフォーマンス問題を修正する必要がある場合です。主要なパフォーマンス問題を解決した後、次の問題を分析したいのですが、それは最初の問題がツリーから除外されている場合にのみ明確に見えます。
呼び出しツリーのノードは、選択してDelete
キーを押すか、コンテキストメニューから選択されたサブツリーを削除を選択することで、そのサブツリーと共に削除できます。祖先ノードの時間は、隠されたノードが存在しなかったかのように適切に修正されます。
削除モードは3つあります。すべての呼び出しを削除モードでは、JProfilerは選択されたメソッドのすべての呼び出しを呼び出しツリー全体で検索し、それらをサブツリーと共に削除します。サブツリーのみを削除オプションは選択されたサブツリーのみを削除します。最後に、自己時間をゼロに設定は、選択されたノードを呼び出しツリーに残しますが、その自己時間をゼロに設定します。これは、Thread.run
のような多くの時間をプロファイルされていないクラスから含む可能性のあるコンテナノードに役立ちます。
ルートとして設定アクションと同様に、削除されたノードはホットスポットビューに影響を与えます。この方法で、これらのメソッドが重要な貢献をしないように最適化された場合、ホットスポットがどのように見えるかを確認できます。
ノードを削除すると、呼び出しツリーとホットスポットビューの両方のヘッダーエリアに、削除されたノードの数と削除されたサブツリーを復元ボタンを含む行が表示されます。そのボタンをクリックすると、再表示するべき削除された要素を選択できるダイアログが表示されます。
呼び出しツリービューフィルター
ホットスポットビューに表示されるデータに影響を与える呼び出しの3番目の機能は、ビューフィルターです。呼び出しツリーフィルターを変更すると、計算されたホットスポットに大きな影響を与えます。この呼び出しツリービューとの相互依存性を強調するために、ホットスポットビューはビューの上部に呼び出しツリービューフィルターを表示し、追加のフィルターを削除するボタンを表示します。
呼び出しツールートの設定、呼び出しツリーの部分の削除、およびビューフィルターは一緒に使用できますが、ビューフィルターは最後に設定する必要があります。呼び出しツリーでビューフィルターが設定されると、ルートとして設定および選択されたサブツリーを削除アクションはもう機能しません。
呼び出しグラフとの相互作用
呼び出しツリーまたはホットスポットビューでグラフを表示アクションを呼び出すと、同じ呼び出しツールートに限定され、削除されたメソッドを含まず、設定された呼び出しツリービューフィルターを使用するグラフが表示されます。グラフの上部には、これらの変更に関する情報が呼び出しツリーと同様の形式で表示されます。
グラフビュー自体で新しいグラフを作成する際に、ウィザードのチェックボックスを使用して、呼び出しツリー調整機能のどれを呼び出しグラフの計算に考慮するかを選択できます。各チェックボックスは、対応する機能が現在呼び出しツリービューで使用されている場合にのみ表示されます。