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

印刷ビューの終了

更新: 2015 年 1 月
 
 

コレクタが収集するデータ

コレクタは、次のいくつかの方法を使用して、さまざまな種類のデータを収集します。

  • プロファイリングデータの収集は、一定の間隔でプロファイルイベントを記録することによって行います。間隔は、システム時間を使用して取得した時間間隔、または特定のタイプのハードウェアイベントの数です。指定の間隔に達すると、シグナルがシステムに送られ、次の機会にデータが記録されます。

  • トレースデータは、さまざまなシステム関数やライブラリ関数の呼び出しをインターセプトし、その呼び出しに関するデータを記録できるように、それらの関数にラッパー関数で割り込むことによって収集されます。

  • 標本データの収集は、さまざまなシステムルーチンを呼び出して情報を取得することによって行います。

  • 関数と命令のカウントデータは、実行可能ファイルに対して収集されます。また、動的に開かれているか、計測され、その実行可能ファイルに静的にリンクしているすべての共有オブジェクトに対して収集されます。関数と命令が実行された回数が記録されます。

  • スレッド解析データは、スレッドアナライザをサポートするために収集されます。

プロファイルデータとトレースデータの両方が特定のイベントに関する情報を含んでおり、いずれのデータの種類もパフォーマンスメトリックに変換されます。標本データはメトリックに変換されませんが、プログラムの実行を複数のタイムセグメントに分割するために使用できるマーカーを提供します。標本データは、タイムセグメントにおけるプログラム実行の概要を示します。

    それぞれのプロファイルイベントやトレースイベントで収集されたデータパケットには、次の情報が含まれます。

  • データ識別用のヘッダー。

  • 高分解能のタイムスタンプ。

  • スレッド ID。

  • 軽量プロセス (LWP) ID。

  • プロセッサ (CPU) ID (オペレーティングシステムから提供できる場合)。

  • 呼び出しスタックのコピー。Java プログラムの場合、マシン呼び出しスタックと Java 呼び出しスタックの 2 つの呼び出しスタックが記録されます。

  • OpenMP プログラムの場合、現在の並行領域の識別子と、OpenMP の状態も収集されます。

スレッドと軽量プロセスについての詳細は、Chapter 6, パフォーマンスアナライザとそのデータについてを参照してください。

こうした共通の情報のほかに、各イベントに固有のデータパケットには、データの種類に固有の情報が含まれます。