インテル® VTune™ プロファイラーは、カスタムコレクターやターゲット・アプリケーションで外部収集されたパフォーマンス統計と、インテル® VTune™ プロファイラーの解析を統合できます。これを実現するには、収集したカスタムデータを定義済みの構造体を持つ csv ファイルとして提供し、このファイルをインテル® VTune™ プロファイラーの結果ディレクトリーに保存します。
インテル® VTune™ プロファイラーは、次のようなデータをロードして処理することができます。
インテル® VTune™ プロファイラーが、csv ファイルのカスタムと統計を解釈するようにするには、ファイル形式が以下の要件を満たしていることを確認してください。
csv ファイル名は次の形式に従って、カスタムコレクターがデータを収集したホスト名を指定する必要があります。
ファイル名形式: [user-defined]-hostname-<hostname-of-system>.csv
説明:
[user-defined] はオプション文字列です。例えば、収集されたデータのタイプを説明する文字列です
-hostname- は必須テキストです
<hostname-of-system> はデータが収集されるシステム名です。カスタムコレクターを使用する場合、VTUNE_HOSTNAME 環境変数を使用してホスト名を取得できます。既存の結果にインポートするため CSV ファイルを作成する場合、[サマリー] ウィンドウの [収集とプラットフォーム情報] の [コンピューター名] で必要なホスト名を参照するか、または vtune -r <result> -R summary コマンドで対応する vtune サマリーレポートを確認します。
例: phases-hostname-octagon53.csv
csv ファイル名でホスト名が指定されていない、または正しく指定されていない場合、インテル® VTune™ プロファイラーでインポートされたデータを表示する際に次の制限が適用されます。
イベントタイムスタンプは、UTC 形式で示されます。
グローバルデータ (特定のスレッド/プロセスに関連しない) のみが表示されます。
インターバル・データは、スレッド ID に関連付けることもできます。インテル® VTune™ プロファイラーは、特定のスレッドにバインドされていないデータ (csv ファイルには TID がない) をフレームとして表します。スレッドにバインドされてたデータ (csv ファイルには TID がある) をタスクとして表します。
インポートされた間隔値は 5 つのカラムを使用します。これらのカラムの順序は重要です。
name,start_tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC],end_tsc,[pid],[tid]
カラム名 |
説明 |
---|---|
name |
イベント名。 |
start_tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC] |
イベント開始タイムスタンプ。このカラムには、タイムスタンプ・カウンターの種類を示す QPC|CLOCK_MONOTONIC_RAW、RDTSC または UTC サフィックスがあります。
|
end_tsc |
イベント終了タイムスタンプ。 |
pid |
必要に応じて、プロセス ID を指定します。このフィールドに値が存在しなくても、次の条件が満たされれば (まれなケースを除いて) 結果のインポートには影響しません。
このフィールドをデータ内の空の値とするか、ファイルヘッダーとデータの両方から完全に除外できます。 |
tid |
必要に応じて、スレッド ID を指定します。このフィールドに値が指定されると、間隔はタスクとして解釈されます。それ以外は間隔はフレームとして解釈され表示されます。 このフィールドはデータ内の空の値とするか、ファイルヘッダーとデータの両方から完全に除外できます。 |
2 種類の計数値をインポートできます。
csv ファイルの .COUNT サフィックスで指定された累積データ型 (距離、ハードウェア・イベント数など)
csv ファイルの .INST サフィックスで指定された瞬間データ型 (電力消費、温度など)
次の形式で指定します。
tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC],CounterName1.COUNT|INST[,CounterName2.COUNT|INST],[pid],[tid]
カラム名 |
説明 |
---|---|
tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC] |
イベント開始タイムスタンプ。このカラムは、タイムスタンプ・カウンターの種類を示す QPC|CLOCK_MONOTONIC_RAW、RDTSC、または UTC サフィックスがあります。
|
CounterName1 |
イベント名。カウンターはそれぞれのカラムを持ちます。COUNT サフィックスは累積カウンター値を指定する際に使用します。INST サフィックスは瞬間カウンター値を指定する際に使用します。 |
pid |
必要に応じて、プロセス ID を指定します。このフィールドに値が存在しなくても、次の条件が満たされれば (まれなケースを除いて) 結果のインポートには影響しません。
このフィールドをデータ内の空の値とするか、ファイルヘッダーとデータの両方から完全に除外できます。 |
tid |
必要に応じて、スレッド ID を指定します。このフィールドに値が指定されると、間隔はタスクとして解釈されます。それ以外は間隔はフレームとして解釈され表示されます。 このフィールドはデータ内の空の値とするか、ファイルヘッダーとデータの両方から完全に除外できます。 |
それぞれの csv ファイルに 1 つのテーブルのみが含まれることを確認してください。複数のテーブルをロードする場合、ファイルごとに 1 つのテーブルを持つ複数の csv ファイルを作成します。
区切り文字としてカンマを使用します。
イベントのタイムスタンプを指定するには、RDTSC、UTC、またはパフォーマンス・カウンター (Windows* では QueryPerformanceCounter、Linux* では CLOCK_MONOTONIC_RAW) を使用します。