パフォーマンスアナライザは、パフォーマンスメトリックをさまざまなレベルでプログラム構造に関連付けます。 具体的にはロードオブジェクトレベル、関数レベル、ソース行レベル、および命令 (または PC) レベルです。
最もレベルの高いプログラム構造はロードオブジェクトです。 ロードオブジェクトには、実行可能ファイルと、プログラムで使用される共有ライブラリ (システムライブラリなど) が含まれます。 ロードオブジェクトは、 <libc.so> のように山括弧内にイタリックで示されるロードオブジェクトのベース名によって表現されます。 パフォーマンスアナライザは、次の表に示すような擬似的なロードオブジェクトを作成します。
ロードオブジェクト | 説明 |
---|---|
<Total> | すべてのロードオブジェクトをまとめて全体でプログラムとして表したもの |
<Unknown> | 判断できないロードオブジェクト名を持つすべての PC を集めたもの |
<DYNAMIC_FUNCTIONS> | Java[tm] でコンパイルされたメソッドではなく、動的にコンパイルされたすべての関数 |
<JAVA_CLASSES> | インタプリタ済みのすべての Java メソッド |
<JAVA_COMPILED_METHODS> | 動的にコンパイルされたすべての Java メソッド |
次にレベルの高いプログラム構造は関数です。 この場合の関数とは、具体的には C 関数、Fortran の関数とサブルーチン、C++ の関数とメソッド、および Java メソッドを意味します。 パフォーマンスアナライザは 2 つの擬似関数を作成します。 ひとつは <Total> で、すべての関数が含まれます。もうひとつは <Unknown> で、判断できない関数名を持つすべての PC が含まれます。 関数名には別名を定義することができます。 C++ 関数は長形式または短形式で表示できます。 関数名は、複号化されない形式でも、復号化された形式でも表示できます。 アナライザは、C++ 関数、クローン関数、コンパイラによって生成された body 関数、およびアウトライン関数を復号化します。 これらの関数の詳細情報は、「概要」タブで参照できます。
次にレベルの高いプログラム構造はソース行です。 ソース行は、「行」タブに関数名、ソースファイル、およびソースファイルの行番号を表示することによって示されます。 ソース行の情報が有効でない場合は、メトリックは、その PC を定義している関数に対して集約されます。集約は関数名、およびソース行の情報を利用できない理由を示すメッセージが括弧で囲まれて示されます。 「ソース」タブでは、ソース行そのものが表示されます。
最下位のレベルのプログラム構造は、命令または PC です。 PC は「PC」タブの関数名と、その関数の中のオフセットで示されます。
パフォーマンスアナライザのタブは、同じタブでさまざまなレベルのプログラム構造を表示することができます。 たとえば「関数」タブは関数とロードオブジェクト、「逆アセンブリ」タブはソース行と命令をそれぞれ表示することができます。
いずれかのタブで、これらのプログラム構造の要素が選択されると、要素のメトリックおよびその他の情報が「概要」タブに表示されます。
関連項目 | |
---|---|
「関数」タブ 「行」タブ 「PC」タブ 「概要」タブ 関数の表示と非表示 |