7 Gprofng GUIの使用
gprofng-gui
パッケージは、オプションでgprofng
コマンドのGUIフロントエンドとして機能できるOracle Javaデスクトップ・アプリケーションを提供します。
また、実験で収集されたパフォーマンス・データをカスタマイズして表示し、実行可能なソフトウェア・プログラムのパフォーマンス・ボトルネックがどこにあるかについて有意義なインサイトを得るために使用できる様々なビューおよびフィルタも提供します。
詳細は、http://savannah.gnu.org/projects/gprofng-gui/およびgp-display-gui(1)
マニュアル・ページを参照してください。
gprofng-guiのインストール
Oracle Linux 8にgprofng-gui
パッケージをインストールします。
gprofng-gui
パッケージをインストールする前に、「gprofngのインストール」のステップに従います。
Oracle Javaランタイムもインストールします。Oracle Java SEのインストールの詳細は、https://docs.oracle.com/en/java/javase/index.htmlを参照してください。Oracle Cloud Infrastructureインスタンスで、Oracle LinuxへのOracle Java SEのインストールのステップに従います。
gprofng-gui
パッケージは、実験の作成およびパフォーマンス・データの確認のためのオプションのグラフィカル・ユーザー・インタフェースを提供します。
gprofng-gui
パッケージがインストールされました。
gprofng-guiの開始
gprofng
のGUIフロントエンドを使用して、新しい実験を作成します。
gprofng-gui
パッケージをインストールします。詳細は、「gprofng-guiのインストール」を参照してください。
gprofng-gui
ツールは、ソフトウェア・エンジニアおよびテスターが開発中のアプリケーションのパフォーマンス・データを収集するために使用するGUIフロントエンドを提供します。
実験の実行中にバイナリ実行可能ファイルに対して収集されたパフォーマンス・データは、後で確認および比較するために保存されています。
gprofng-guiによる実験の確認
gprofng
のGUIフロントエンドを使用して、以前の実験を確認します。
開始する前に、gprofng
コマンドを使用して実験を作成します。詳細は、「gprofngの開始」を参照してください。
または、gprofng-gui
ツールを使用して実験を作成します。詳細は、「gprofng-guiの開始」を参照してください。
gprofng-gui
には、ソフトウェア・プロファイリング実験で取得されたパフォーマンス・データの確認に役立つ様々なビューおよびフィルタが用意されています。
これで、gprofng-gui
ツールのメイン・ウィンドウに、実験が確認のために開かれました。
実験とgprofng-guiの比較
gprofng
のGUIフロントエンドを使用して、実験を比較します。
開始する前に、gprofng
コマンドを使用して実験を少なくとも2つ作成します。詳細は、「gprofngの開始」を参照してください。
または、gprofng-gui
ツールを使用して実験を少なくとも2つ作成します。詳細は、「gprofng-guiの開始」を参照してください。
gprofng-gui
には、複数のソフトウェア・プロファイリング実験で取得されたパフォーマンス・データの比較に役立つ様々なビューおよびフィルタが用意されています。
これで、gprofng-gui
ツールのメイン・ウィンドウに、2つ以上の実験が比較のために開かれました。
gprofng-guiのビュー・リファレンス
この表に、gprofng-gui
のメイン・ウィンドウで実験が少なくとも1つ開いているときに、ビュー・メニューにデフォルトで表示されるビューのリストを示します。
ビュー | 用途 |
---|---|
コール元 - コール先 | 実験中に実行された関数間のコール関係を、パフォーマンス・メトリックとともに表示します。 |
コール・ツリー | 実験中に実行される関数間のコール関係のためのツリー・ノード・グラフを表示します。 |
逆アセンブリ | 実験中に実行される選択した関数の命令を、パフォーマンス・メトリックとともに表示します。 |
実験 | メイン・ウィンドウに表示される実験を、それらに追加されたノートやコメントとともに一覧表示します。 |
フレーム・グラフ | 一方の軸にはコール・スタックを、もう一方の軸には関数を示したコール・ツリーのカスタマイズ可能なグラフを表示します。関数の幅は、使用されたCPU時間を視覚的に示します。 |
関数 | 実験中に実行される関数を、CPUパフォーマンス・メトリックとともに一覧表示します。関数名をクリックすると、別の表示ペインに詳細情報が表示されます。 |
プロセス | 実験中に作成されたプロセスを、パフォーマンス・メトリックとともに一覧表示します。診断目的でフィルタを使用します。 |
ソース/逆アセンブリ | 選択した関数のソース・コードを、各行のパフォーマンス・メトリックとともに表示します。 |
スレッド | 実験中に作成されたスレッドを、パフォーマンス・メトリックとともに一覧表示します。診断目的でフィルタを使用します。 |
タイムライン | 収集されたパフォーマンス・データに基づいて、実験期間中のパフォーマンス動作を色分けして表示します。 |
コール元 - コール先ビューの操作
gprofng-gui
によって提供されるコール元 - コール先ビューを使用して、ソフトウェア・プログラムのパフォーマンス・ボトルネックを関数コール・レベルで診断します。
コール元 - コール先ビューには、パフォーマンス・データの収集中に実行された関数間のコール関係が、パフォーマンス・メトリックとともに表示されます。
ビューは3つの水平パネルに分かれています。選択した関数が中央パネルに表示されます。選択した関数をコールするその他の関数が上部のパネルに表示され、選択した関数によってコールされる関数が下部のパネルに表示されます。
関数を選択すると、別の表示ペインに追加情報が表示されます。
コール・ツリー・ビューの操作
gprofng-gui
によって提供されるコール・ツリー・ビューを使用して、ソフトウェア・プログラムのパフォーマンス・ボトルネックを関数コール・レベルで診断します。
コール・ツリー・ビューには、パフォーマンス・データの収集中に実行された関数間のコール関係を反映したツリー・グラフが、パフォーマンス・メトリックとともに表示されます。
各関数コールには、関連する関数コールのリストを表示するために開いたり折りたたんだりできるツリー・ノードが割り当てられます。また、これらのノードにも、必要に応じて開いたり折りたたんだりできるツリー・ノードが割り当てられます。関数を選択すると、選択の詳細ウィンドウが更新され、その関数およびパフォーマンス・メトリックの詳細が表示されます。
最も重大なパフォーマンス・ボトルネックが含まれる関数コールのチェーンを確認するには、任意のノードを右クリックし、「最もホットなブランチの展開」を選択します。
関数ビューの操作
gprofng-gui
によって提供される関数ビューを使用して、ソフトウェア・プログラムのパフォーマンス・ボトルネックを関数レベルで診断します。
関数ビューには、実験中にパフォーマンス・データが収集されている間に実行されたすべての関数のリストが表示されます。
デフォルトでは、関数はCPU時間使用率データの横に示されます。関数名をクリックすると、別の表示ペインに詳細が表示されます。
関数名をダブルクリックすると、その関数が新しいソース・ビューで開き、パフォーマンス・メトリックの注釈が付けられたコード行のリストが別の表示ペインに表示されます。
関数は、メイン・ウィンドウでソース・コードとパフォーマンス・データの注釈の間により大きな分割ペイン・ビューを表示するために、ソース/逆アセンブリ・ビューで確認することもできます。計算コストの高い行は、異なる背景色で強調表示されます。
タイムライン・ビューの操作
gprofng-gui
によって提供されるタイムライン・ビューを使用して、実行の特定のステージでトリガーされたり、時間の経過とともに増大するソフトウェア・プログラムのパフォーマンス・ボトルネックを診断します。
タイムライン・ビューには、実験の実行中に収集されたパフォーマンス・データの色分けされたタイムライン・マップが表示されます。
時間軸にはタイムラインが表示され、もう一方の軸では一連のバーが実験中に生成された各スレッドを表します。アプリケーションのコール・スタックは、縦バーとしてプロットされます。実験中にコールされる各関数またはメソッドには異なる色が割り当てられ、それらの色は、タイムラインでそれらのコールを表すために縦バーで使用されます。
OSにはマップ領域の上部に独自のバーがあり、その背景色はアプリケーションがまだユーザースペースで実行されているかどうかを示します。
これらのバー内の任意の場所をクリックすると、タイムライン内の特定のポイントが強調表示され、詳細が別の表示ペインに表示されます。
タイムラインのスケールを変更するには、ズーム・イン・アイコンとズーム・アウト・アイコンをクリックするか、マウス・カーソルで時間軸の特定の領域を強調表示して[Enter]キーを押します。
提示されたナビゲーション矢印をクリックすると、タイムライン内のスレッドとイベント間でタイムラインが移動し、関連する表示ペインも更新されます。
タイムライン・ビューは、スレッドではなくCPU使用率やプロセスなど、時間の経過とともに他のパフォーマンス・メトリックを表示するようにカスタマイズすることもできます。データのグループ化基準プルダウン・メニューを使用して、表示するパフォーマンス・メトリックを選択します。
関数の色ボタンをクリックして、実験中にコールされた関数の一部または全部に割り当てられている色を変更します。1つを除いてすべての関数が同じ色に設定されている場合は、タイムラインを通じてその特定の関数のパフォーマンスをより簡単に追跡できます。
タイムライン・ビューでは、パフォーマンス・データをフィルタ処理して、最も関連性の高いスレッドまたは関数のみを表示することもできます。それらのフィルタ・オプションは、ツール・メニューに提示されます。また、タイムライン・ビュー内のフィルタ・アイコンを使用して、フィルタのデフォルトの選択を適用できます。