実行プロファイラ

実行プロファイラを使用して、プログラム内で最も負荷がかかっているメソッドおよびスレッドを識別します。

実行プロファイラ・ウィンドウは、左側のメイン・ウィンドウと右側の詳細ウィンドウの2つの部分で構成されます。

このプロファイリング・セッションのデータを今後の参照用に保存するには、表内で右クリックして、次に示す保存オプションの1つを選択します。

「プロジェクト・プロパティ」ダイアログに直接移動してプロファイラ設定を再構成するには、メイン・ウィンドウで表を右クリックし、「設定」を選択します。列の表示を変更してプロファイラに戻ると、変更内容が表示に反映されています。その他の変更の場合、新規プロファイリング・セッションを開始するまで、変更内容は反映されません。

メイン・ウィンドウ

メイン・ウィンドウの表には、少なくとも1つのサンプル内の、最もアクティブなスレッドのスタックに存在したプロファイラ・クラス・セット内のメソッドが表示されます。

列内のデータを昇順または降順にソートするには、列ヘッダーをクリックします。列の配置を変更するには、列をクリックして移動先までドラッグします。

表にリスト表示されているメソッドのソース・コードを表示するには、そのメソッドが表示されている表の行をダブルクリックするか、右クリックしてから「ソースを検索」を選択します。メインの表でメソッドを選択すると、その情報のサマリーが詳細ウィンドウの中央の領域に表示されます。これらの表の情報は連動して変化します。

表の最も上には、現在のプロファイリング・セッションを制御する6つのボタンと、1つの出力フィールドがあります。

Restart button
プログラムを最初から再開する場合にクリックします。
Resume button
一時停止しているプログラムを再開する場合にクリックします。
Pause button
実行しているプログラムを一時停止する場合にクリックします。 一時停止の際のメソッドおよびスレッドのステータスが表示されます。
Snapshot button
プログラムのスナップショットをとる場合にクリックします。 スナップショットの際のメソッドおよびスレッドのステータスが表示されます。
Clear button
メイン・ウィンドウに表示されているデータを消去する場合にクリックします。プログラムを一時停止して再開する際に、実行時間の特定の時間内に生成されたデータのみを表示する場合などに、このボタンを使用します。
Stop button
実行しているプログラムを停止する場合にクリックします。
表には、現在のプロファイリング・セッションで考察されている各メソッドのデータが表示されます。
クラス
メソッドを含むクラスの完全修飾名。
メソッド
メソッド名。
シグネチャ
メソッドのシグネチャ。
ヒット率
このメソッドに直接費やされた合計時間のパーセント。別のメソッドをコールするためにかかった時間は含まれません。この列の合計は必ず100%になります。
時間
このメソッドに直接費やされた時間。サブメソッドをコールするためにかかった時間は含まれません。
スタック率
サブメソッドへのコールも含めた、このメソッドに費やされた全体の時間のパーセント。
スタック時間
他のメソッドへのコールも含めた、このメソッドに費やされた全体の時間。

実行されたメソッドの他に、サンプリングされたスレッドにより1行追加され、1つのルート・オブジェクトが加えられます。規則では、ルート・オブジェクトがすべてのスレッドのコール側になります。ルート・オブジェクトの「スタック率」が常に100%、「ヒット率」が常に0%になるのは、実行されたスレッドのメソッド、または最終的にはスレッド擬似メソッド行に対してすべてのヒットがカウントされるためです。

サンプリングを行うたびに、プロファイラ・クラス・セットに属さないすべてのメソッドがスタックから削除され、最も上に残っているメソッドに対してヒットがカウントされます。プロファイラ・クラス・セットに属するメソッドがない場合、最終的には擬似スレッド・メソッドに対してもヒットがカウントされるので注意してください。

詳細ウィンドウ

詳細ウィンドウには、メイン・ウィンドウの表で選択されたメソッドの詳細が表示されます。上部(「呼出し元」表)にはメイン・ウィンドウの表で選択されたメソッドをコールするメソッドが表示され、下部(「呼出し」表)には選択されたメソッドがコールするメソッドが表示されます。「呼出し元」表のメソッドをダブルクリックすると、メインの表でそのメソッドが検索されます。

呼出し元
この表では、メイン・ウィンドウで現在選択されているメソッド(M)をコールするメソッドが左側に表示されます。
クラス
Mをコールするメソッドを含むクラスの完全修飾名。
メソッド
Mをコールするメソッドの名前。
シグネチャ
Mをコールするメソッドのシグネチャ。
ヒット率
このメソッドがMをコールするときに費やされた時間のパーセント。定義では、この列の合計は100%になります。
時間
このメソッドがMをコールするときに費やされた時間。

2つのディテール表の間に挟まれたこのウィンドウの中央の部分には、メイン・ウィンドウで現在選択されているメソッドの情報が表示され、メソッド自体に費やされた時間が実行時間のパーセントとして表示されます。

メソッドのファイル全体の統計値
メインの表で選択されているメソッドのデータが再表示されます。
呼出し
この表では、メイン・ウィンドウで現在選択されているメソッド(M)によってコールされるメソッドが左側に表示されます。
クラス
Mがコールするメソッドを含むクラスの完全修飾名。
メソッド
Mがコールするメソッドの名前。
シグネチャ
Mがコールするメソッドのシグネチャ。
ヒット率
メソッドMがこのメソッドをコールするために費やされた時間のパーセント。定義では、この列と「呼出し元」コードの値の合計が100%になります。
時間
Mがこのメソッドをコールするときに費やされた時間。

プロファイラ・クラス・セットについて
実行プロファイリングについて

 

Copyright © 1997, 2004, Oracle. All rights reserved.