Oracle® Developer Studio 12.5: パフォーマンスアナライザ

印刷ビューの終了

更新: 2016 年 6 月
 
 

構成設定

データの表示方法やその他の構成設定は、「設定」ダイアログボックスを使用して制御できます。このダイアログボックスを開くには、ツールバーの「設定」ボタンをクリックするか、または「ツール」->「設定」を選択します。

「了解」ボタンをクリックすると、現在のセッションについて行なった変更が適用され、ダイアログボックスが閉じます。「適用」ボタンをクリックすると、現在のセッションに対して、変更が適用されますが、ダイアログボックスは開いたままなので、変更を続行できます。「閉じる」ボタンは、変更を保存または適用せずにダイアログボックスを閉じます。

「エクスポート」ボタンは「エクスポート設定」ダイアログを開き、それを使用して、エクスポートする設定とそれらを保存する場所を選択できます。エクスポートされた構成設定は、現在のセッションだけでなく、将来のパフォーマンスアナライザセッションでこの実験をふたたび開いたときにも適用できます。構成はほかの実験にも使用できます。詳細は、パフォーマンスアナライザの構成ファイルを参照してください。

「ビュー」設定

「ビュー」設定パネルには、現在の実験に適用できるデータビューが一覧表示されます。

標準ビュー

チェックボックスをクリックして、パフォーマンスアナライザに表示する標準データビューを選択または選択解除します。

インデックスオブジェクトビュー

チェックボックスをクリックして、表示する「インデックスオブジェクト」ビューを選択または選択解除します。事前に定義されている「インデックスオブジェクト」ビューには、「スレッド」、「CPU」、「標本」、「秒」、「プロセス」があります。

カスタムインデックスオブジェクト用のビューを追加するには、「カスタムビューを追加」ボタンをクリックして「インデックスオブジェクトを追加」ダイアログを開きます。指定するインデックスオブジェクト名は定義されていないものであり、既存のどのコマンド、メモリーオブジェクトタイプにも一致していないものにする必要があります。この名前は大文字と小文字が区別されず、英数字のみ、または「_」文字を含め、1 文字目は英字で構成する必要があります。式は、式の文法で説明されている構文に従う必要があります。

インデックスオブジェクトは、er_print コマンドを使用して作成することもできます。インデックスオブジェクトリストを制御するコマンドを参照してください。

メモリーオブジェクトビュー

チェックボックスをクリックして、表示する事前定義されたメモリーオブジェクトビューを選択または選択解除します。これらのビューは、実験にハードウェアカウンタプロファイリングデータが含まれる場合に使用できます。

メモリーオブジェクトは、キャッシュ行、ページ、メモリーバンクなどの、メモリーサブシステム内のコンポーネントを表します。メモリーオブジェクトは、仮想ページおよび物理ページについて 8K バイト、64K バイト、512K バイト、および 4M バイトのサイズで事前定義されています。

カスタムメモリーオブジェクト用のビューを追加するには、「「カスタムメモリーオブジェクト」ビューを追加」ボタンをクリックして「メモリーオブジェクトを追加」ダイアログボックスを開きます。指定するメモリーオブジェクト名は定義されていないものであり、既存のどのコマンド、またはどのインデックスオブジェクトタイプにも一致していないものにする必要があります。この名前は大文字と小文字が区別されず、英数字のみ、または「_」文字を含め、1 文字目は英字で構成する必要があります。式は、式の文法で説明されている構文に従う必要があります。

マシンモデルのファイル

特定の SPARC システムアーキテクチャーのメモリーオブジェクトを定義するファイルをロードできます。「マシンモデル」ドロップダウンメニューから、対象のシステムアーキテクチャーを選択します。「適用」または「了解」をクリックすると、オブジェクトの新しいリストが「メモリーオブジェクトビュー」列に表示されます。これらのビューから選択して、関連するデータを表示できます。詳細は、ヘルプで「マシンモデル」を検索してください。

デフォルトでは、パフォーマンスアナライザは、実験が記録されたマシンに適したマシンモデルのファイルをロードします。マシンモデルのファイルでは、メモリーオブジェクトとインデックスオブジェクトの両方を定義できます。

メトリック設定

「メトリック設定」では、「関数」、「呼び出し元-呼び出し先」、「ソース」、「逆アセンブリ」など、ほとんどのアナライザタブに表示されるメトリックを選択できます。一部のメトリックスは選択した時間またはパーセンテージで表示できるのに対して、その他のメトリックスは値として表示されます。メトリックスの一覧には、読み込まれたいずれかの実験で使用可能なすべてのメトリックスが含まれます。

メトリックスごとに、時間とパーセンテージ、または値のチェックボックスが表示されます。パフォーマンスアナライザで表示するメトリックの種類のチェックボックスを選択します。「適用」をクリックして、新しいメトリックでビューを更新します。「概要」ではメトリックを選択することもでき、ここで行なった設定と同期されます。列ヘッダーをクリックすることでメトリックをソートできます。


注 -  表示することを選択できるのは、排他的メトリックスと包括的メトリックスだけです。属性メトリックは、排他的メトリックまたは包括的メトリックのどちらかが表示されている場合は、常に「呼び出しツリー」ビューに表示されます。

タイムライン設定

「タイムライン設定」を使用すると、「タイムライン」ビューに表示される情報を指定できます。

データの種類

表示するデータの種類を選択します。この選択は、すべての実験とすべての表示タイプに適用されます。実験にデータの種類が含まれていない場合、そのデータの種類は、選択可能なデータの種類として設定に表示されません。

CPU 使用率標本

「CPU 使用率標本」バーをプロセスごとに表示する場合に選択します。「標本」バーには、それぞれの定期的な標本についてのマイクロステート情報を要約したグラフが表示されます。

クロックプロファイリング

各 LWP、スレッド、CPU、または実験についてキャプチャーされたクロックプロファイリングデータのタイムラインバーを表示する場合に選択します。各項目のバーには、標本収集されたイベントで実行された関数の色分けされた呼び出しスタックが表示されます。

HW カウンタプロファイリング (キーワード)

HW カウンタプロファイリングデータのタイムラインバーを表示する場合に選択します。

I/O トレース

I/O トレースデータのタイムラインバーを表示する場合に選択します。

ヒープトレース

ヒープトレースデータのタイムラインバーを表示する場合に選択します。

同期トレース

同期トレース呼び出しスタックのタイムラインバーを表示する場合に選択します。

イベント状態

イベントごとにマイクロステートを表示するグラフを各タイムラインバーに追加する場合に選択します。イベント密度- イベントが発生したときに表示するグラフを各タイムラインバーに追加する場合に選択します。

データのグループ化

プロセスごとにタイムラインバーを整理する方法 (LWP 別、スレッド別、CPU 別、またはプロセス全体) を指定します。「タイムライン」ツールバーの「データをグループ化」リストを使用して、グループ化を設定することもできます。

スタック配置方法

タイムラインイベントマーカーに表示される呼び出しスタックが、リーフ関数またはルート関数のどちらに配置されるかを指定します。最後に呼び出された関数をスタックの最下部に表示する場合、リーフを選択します。この設定は、「選択の詳細」パネルに表示されるデータには影響しません。このパネルの最上部には常にリーフ関数が表示されます。

呼び出しスタックの拡大

呼び出しスタック内の各関数を表示するときに使用されるピクセル数を指定します。デフォルト値は 3 です。この設定と、行ごとに使用可能なスペースを制御するタイムライン垂直ズームとによって、深い呼び出しスタックが切り捨てられるか、完全に表示されるかが決定されます。

ソース/逆アセンブリ設定

「ソース/逆アセンブリ設定」では、「ソース」ビュー、「逆アセンブリ」ビュー、および「ソース/逆アセンブリ」ビューに表示される情報を選択できます。

コンパイラ解説

「ソース」ビューと「逆アセンブリ」ビューに表示されるコンパイラ解説のクラスを選択します。

ホットライン強調表示しきい値

「ソース」ビューと「逆アセンブリ」ビューで、高メトリックの行を強調表示するためのしきい値。このしきい値は、ソースまたは逆アセンブリが表示されているファイル内のいずれかの行に帰属する最大のメトリック値のパーセンテージです。このしきい値は、各メトリックに独立して適用されます。

ソースコード

「逆アセンブリ」ビューにソースコードを表示します。「逆アセンブリ」ビューでソースコードを表示した場合は、有効にしたクラスについてコンパイラ解説も表示されます。

ソース行のメトリック

「逆アセンブリ」ビューにソースコードのメトリックを表示します。

16 進命令

「逆アセンブリ」ビューに 16 進数で命令を表示します。

現関数のデータのみを表示する

別のビューで選択された現在の関数の命令についてのみメトリックを表示します。このオプションを選択した場合、ほかのすべての命令についてメトリックが非表示になります。

コンパイラのコマンド行フラグを表示します

ターゲットプログラムのコンパイルに使用されるコンパイラコマンドおよびオプションを表示します。コマンド行を表示するには、「ソース」ビューの最終行までスクロールします。

関数の開始行を表示します

関数の開始行をオンまたはオフに切り替えます。

呼び出しツリー設定

「呼び出しツリー設定」(「メトリックのパーセントがこのしきい値 (%) を超えるときに分岐を展開します」) では、「呼び出しツリー」ビュー内の分岐を展開するためのトリガーを設定します。呼び出しツリーの分岐で使用されているメトリックが指定されたパーセンテージ以下の場合は、「分岐を展開」や「すべての分岐を展開」などの展開アクションを選択しても、自動的には展開されません。このパーセンテージを超えている場合は展開されます。

書式設定

「書式設定」を使用すると、データビューのその他の書式設定を指定できます。

関数名の書式

関数名を C++ 関数名および Java メソッド名の長い形式、短い形式、符号化された形式のどれで表示するかを指定します。

関数名に SO 名を付加

関数またはメソッドが配置されている共有オブジェクトの名前を関数名またはメソッド名のあとに付加するには、このチェックボックスにチェックマークを付けます。

表示モード

表示モードのツールバー設定の初期値を設定します。これは、Java 実験と OpenMP 実験に対してのみ有効になります。「ユーザー」、「上級」、「マシン」の各表示モードによって、実験を表示するためのデフォルトモードが設定されます。ツールバーの「表示モード」リストを使用して、現在のビューを切り替えることができます。

    Java 実験の場合:

  • 「ユーザー」モードでは、インタプリタされたメソッドおよび呼び出された任意のネイティブメソッドのメトリックを表示します。特殊関数 <no Java call stack recorded > は、Java プログラムが実行されていたにもかかわらず、Java 仮想マシン (JVM) ソフトウェアが Java 呼び出しスタックを報告しなかったことを示します。

  • 「上級」モードでは、インタプリタされたメソッドおよび呼び出された任意のネイティブメソッドについてメトリックを表示し、さらに、JVM で動的にコンパイルされたメソッドを一覧表示します。

  • 「マシン」モードでは、複数の JVM コンパイルを、名前は同じであっても完全に独立した関数として表示します。このモードでは、JVM ソフトウェアのすべての関数はそのように表示されます。

Java 実験の表示モードの詳細は、Java プロファイリングの表示モードを参照してください。

    OpenMP 実験の場合:

  • 「ユーザー」モードでは、OpenMP を使用せずにプログラムがコンパイルされるときに取得されるものに類似した、再構築済みの呼び出しスタックを表示します。OpenMP ランタイムが特定の操作を実行しているときは、<OMP-*> という形式の名前を持つ特殊関数が表示されます。

  • 「上級」モードでは、「ユーザー」モードではユーザー関数と集約された、並列化されたループやタスクなどを表すコンパイラ生成の関数を示します。OpenMP ランタイムが特定の操作を実行しているときは、<OMP-*> という形式の名前を持つ特殊関数が表示されます。

  • 「マシン」モードでは、特殊関数 <OMP-*> を使用せずに、すべてのスレッドのマシン呼び出しスタックを表示します。

OpenMP 実験の表示モードの詳細は、OpenMP実行の概要 を参照してください。

それ以外のすべての実験では、3 つのモードのすべてで同じデータが表示されます。

比較形式

実験を比較するときのデータの表示方法を指定します。たとえば、比較実験メトリックは、x0.994 のように表示され、ベース実験と相対的な値を示します。

絶対値

ロードされたすべての実験のメトリック値を表示します。

デルタ

ベースライン実験とロードされたほかの実験のメトリック間の +/- の差を表示します。

比率

ベースライン実験とロードされたほかの実験のメトリック間の差を比率として表示します。

検索パス設定

「検索パス設定」では、「ソース」および「逆アセンブリ」ビューで注釈付きソースデータを表示するために、ロードされた実験に関連付けられたソースおよびオブジェクトファイルの検索に使用されるパスを指定します。この検索パスはまた、システム上の Java Runtime Environment の .jar ファイルを検索するためにも使用されます。特殊なディレクトリ名 $expts は、読み込まれた順序での、現在の一連の実験を指します。$expts を検索すると、親実験のみが検索され、派生実験は検査されません。

デフォルトでは、検索パスは $expts および . (現在のディレクトリ) に設定されます。パスを入力または参照し、「追加」をクリックすることによって、検索するほかのパスを追加できます。リスト内のパスを編集するには、パスを選択し、それを「パス」フィールド内で編集して「更新」をクリックします。検索順序を変更するには、リスト内のパスを選択し、「上へ移動」/「下へ移動」ボタンをクリックします。

検索パスの使用方法の詳細は、ツールがソースコードを見つけるしくみを参照してください。

パスマップ設定

「パスマップ設定」では、パフォーマンスアナライザでソースファイルを検索しやすくするために、ファイルパスの先頭の部分をある場所から別の場所にマップできます。パスマップは、記録されたときの元の場所から移動された実験に役立ちます。ソースを見つけることができた場合、パフォーマンスアナライザは、注釈付きソースデータを「ソース」ビューおよび「逆アセンブリ」ビューに表示できます。

ソースパス

実験で使用されたソースへのパスの先頭を入力します。パフォーマンスアナライザで実験を開いているときに、「選択の詳細」パネルを表示するとこのパスを見つけられます。

ターゲットパス

パフォーマンスアナライザを実行している現在の場所からソースへのパスの先頭を入力または参照します。

たとえば、実験に /a/b/c/d/sourcefile として指定されたパスが含まれており、soucefile が現在 /x 内に配置されている場合は、「パスマップ設定」を使用して /a/b/c/d//x/ にマップできます。複数のパスマップを指定でき、各パスマップがファイルを検索するために試行されます。

パスマップの使用方法の詳細は、ツールがソースコードを見つけるしくみを参照してください。

パフォーマンスアナライザの構成ファイル

パフォーマンスアナライザでは、ユーザーがこのツールを終了すると、構成設定が自動的に保存されます。ユーザーが同じ実験をふたたび開くと、これらの設定は、前に実験を閉じたときの状態のまま構成されます。

一部の設定は名前が config.xml で終わる構成ファイルに保存し、「実験を開く」ダイアログからその構成ファイルを開いたときに任意の実験に適用できます。構成は、自分だけが使用する場所に保存することも、ほかのユーザーが使用できるように共有の場所に保存することもできます。

実験を開くと、パフォーマンスアナライザは使用可能な構成ファイルのデフォルトの場所を検索し、開いている実験にどの構成を適用するかをユーザーが選択できるようにします。

また、「ツール」>「設定を .er.rc としてエクスポート」を使用して、er_print で読み取り可能な .er.rc ファイルに設定をエクスポートすることもできます。これにより、er_print とパフォーマンスアナライザで同じメトリックを有効にしておくことができます。