標準のインテル® VTune™ プロファイラーのパフォーマンス解析を拡張して、インテル® VTune™ プロファイラーから直接カスタム・データ・コレクターを起動できます。
インテル® VTune™ プロファイラーで解析するアプリケーションや、インテル® VTune™ プロファイラーで起動するコレクターをカスタムコレクターにすることができます。
カスタムコレクターをインテル® VTune™ プロファイラーとともに使用し、収集したデータを相互に関連付けるには次の操作を行います。
インテル® VTune™ プロファイラーは、データ収集と収集した結果を管理するためカスタムコレクターが利用する環境変数を設定します。
インテル® VTune™ プロファイラーで提供される環境変数 |
カスタムコレクターを有効にするには |
||||||||
|---|---|---|---|---|---|---|---|---|---|
AMPLXE_DATA_DIR |
インテル® VTune™ プロファイラーの解析結果へのパスを特定します。カスタムコレクターは、このパスを参照して出力 csv ファイルを保存し、csv データをネイティブのインテル® VTune™ プロファイラーの結果に追加します。 |
||||||||
AMPLXE_HOSTNAME |
|||||||||
AMPLXE_COLLECT_CMD |
カスタムデータ収集を管理します。カスタムコレクターは次の値を受けとります。これらのコマンドを実行した後、カスタムコレクターは即座に終了してインテル® VTune™ プロファイラーに制御を戻す必要があります。 注コマンドごとにカスタムコレクターが再起動されます。
|
||||||||
AMPLXE_COLLECT_PID |
解析するアプリケーションのプロセス ID を特定します。インテル® VTune™ プロファイラーは、この環境変数にターゲットプロセスの PID を設定します。カスタムコレクターは、このデータをフィルター処理などに使用できます。 インテル® VTune™ プロファイラーは、[アプリケーションを起動] または [プロセスにアタッチ] モードでプロファイルを行う場合にのみ、この変数に PID を設定します。システム全体の解析では値は設定されません。プロファイルされたアプリケーションのプロセスツリーを生成すると、AMPLXE_COLLECT_PID環境変数には起動されたプロセスやアタッチされた PID が含まれます。スクリプトからワークロードを起動する場合、子プロセスの PID をカスタムコレクターに渡すため、独自の設定を行う必要があります。 |
次のテンプレートは、インテル® VTune™ プロファイラーとカスタムコレクター間の相互作用を示します。
Python* の例:
import os
def main():
cmd = os.environ['AMPLXE_COLLECT_CMD']
if cmd == "start":
path = os.environ['AMPLXE_DATA_DIR']
# 指定されたディレクトリーへのデータ収集を開始
elif cmd == "stop":
pass # 必要に応じて収集を停止し、独自のデータを CSV に変換
main()Windows* CMD の例:
if '%AMPLXE_COLLECT_CMD%' == 'start' goto start
if '%AMPLXE_COLLECT_CMD%' == 'stop' goto stop
echo Invalid command
exit 1
:start
rem Start command in non-blocking mode
start <my collector command to start the collection> '%AMPLXE_DATA_DIR%'\data_file.csv exit 0 :stop <my collector command to stop the collection>
exit 0インテル® VTune™ プロファイラーからカスタムコレクターを起動するには、次の操作を行います。
ツールバーの
[解析の設定] ボタンをクリックします。
[解析の設定] ウィンドウが表示されます。
[どこを] と [何を] ペインで、正しいターゲットシステムとターゲットタイプが選択されていることを確認します。
[何を] ペインの [高度] セクションで、[カスタムコレクター] フィールドを編集して外部コレクターを起動するコマンドラインを追加します。以下に例を示します。
Windows*:python.exe C:\work\custom_collector.py
Linux* では:python home/my_collectors/custom_collector.py
[どのように] ペインで、解析タイプを選択します (例えば、ホットスポット)。
必要に応じて解析オプションを設定します。
[開始] ボタンをクリックして、インテル® VTune™ プロファイラーの解析とカスタムデータ収集を並行して起動します。
インテル® VTune™ プロファイラーは以下を行います。
ターゲット・アプリケーションが存在する場合、サスペンドモードで起動します。
アタッチ (またはシステム全体) モードでカスタムコレクターを起動します。
アプリケーションをアクティブモードに切り替えてプロファイルを開始します。
カスタムコレクターをアタッチモードで起動できない場合、収集で不完全なデータが生成される可能性があります。
コマンドラインからカスタムコレクターを起動するには、次の操作を行います。
-custom-collector=<string> オプションを使用します。
コマンドラインの例:
この例は、デフォルトのユーザー・サンプリング・モードでホットスポット解析を実行し、指定するアプリケーションのカスタム統計情報を収集する外部スクリプトも起動します。
Windows*:
vtune -collect hotspots -custom-collector="python.exe C:\work\custom_collector.py" -- notepad.exeLinux*:
vtune -collect hotspots -custom-collector="python /home/my_collectors/custom_collector.py" -- my_appこの例は、インテル® VTune™ プロファイラーのイベントベース・サンプリング・コレクターを実行し、外部システムコレクターを使用して製品環境変数を特定します。
Windows*:
vtune -collect-with runsa -custom-collector="set | find \"AMPLXE\"" -- notepad.exeLinux*:
vtune -collect-with runsa -custom-collector="set | find \"AMPLXE\"" -- my_appターゲット・アプリケーションをカスタムコレクターとして使用する場合、[カスタムコレクター] オプションを適用する必要ありませんが、アプリケーションが次の変数を使用していることを確認してください。
AMPLXE_DATA_DIR 環境変数を使用して、インテル® VTune™ プロファイラーの結果ディレクトリーへのパスを特定し、出力 csv ファイルを保存します。
AMPLXE_HOSTNAME 環境変数を使用して、現在のホスト名を特定し、csv ファイル名に使用します。