ダイアログ ボックス (同時実行ビジュアライザー)
同時実行ビジュアライザーで [詳細設定] ダイアログ ボックスを使用すると、トレースがどのように行われるかを制御できます。ダイアログ ボックス記号、マイ コードのみ、バッファリング、フィルター処理、CLR イベント、マーカー、プロバイダーとファイルのタブがあります。
シンボル
同時実行ビジュアライザーでは、Visual Studio デバッガーと同じシンボルの設定を使用します。同時実行ビジュアライザーでは、パフォーマンス データに関連付けられた呼び出し履歴を解決するために設定を使用します。このプロセスがトレース、同時実行ビジュアライザーの設定ページで指定したシンボル サーバーにアクセスします。このデータがネットワークにアクセスすると、トレース処理は低下します。シンボルを解決するために必要な時間を単純化するにはシンボルをローカルにキャッシュできます。シンボルをダウンロードすると、Visual Studio はローカル キャッシュからそれらを読み込みます。
マイ コードのみ
既定で、マイ コードのみは Visual Studio の現在のソリューションに関連付けられた .exe ファイルと .dll ファイルのセットです。同時実行ビジュアライザーでは、呼び出し履歴をフィルター処理するには、マイ コードのみ機能を使用するときにファイルのセットを評価します。マイ コードのみタブで、同時実行ビジュアライザーがマイ コードのみに使用する場所に .exe ファイルと .dll ファイルを含むディレクトリを追加できます。
.exe ファイルと .dll ファイルのパスは、トレース ファイルにトレースが収集されたときに格納されます。この設定を変更すると、前に収集されたトレースには影響しません。
Buffering
同時実行ビジュアライザーは、トレースを収集するときに Windows イベント トレーシング (ETW) を使用します。ETW は理解してさまざまなバッファーを保存してイベントを使用します。既定 ETW バッファー設定はどちらの場合も、最適である場合によっては、消失イベントなどの問題が発生することがあります。ETW バッファー設定を構成するには、バッファリング タブを使用します。詳細については、Event Tracing 参照します EVENT_TRACE_PROPERTIES 構造体。
Filter
フィルター タブで、同時実行ビジュアライザーが収集イベントのセットを選択することもできます。イベントのサブセットを選択すると、レポートに表示されるデータの種類を減らし、各トレースのサイズを削減プロセス、トレースに必要な時間を制限します。
CLR イベント
Common Language Runtime (CLR) によって生成されたイベントは、同時実行ビジュアライザーがマネージ コールスタックを解決できるようになります。CLR イベントのコレクションを無効にすれば、トレース サイズが減りますが、呼び出し履歴は解決されません。その結果、CPU のスレッド アクティビティが不適切に分類される場合があります。
ネイティブ プロセスを収集
これらは、ネイティブ プロセスで不要であるため、マネージ プロセスがプロファイリングされる場合にのみ既定で、CLR イベントが収集されます。場合によってはネイティブ プロセスが CLR をホストすると、)、ネイティブ プロセスの CLR イベントを収集する必要がある場合があります。この場合は、[ネイティブ プロセスを収集] チェック ボックスをオンにします。
ランダウン イベントを無効化
CLR は 2 個のプロバイダーからイベントを生成する: ランタイム プロバイダーとランダウン。CLR ランタイム イベントを収集するランダウンがイベントの収集を行わない場合は、[ランダウン イベントを無効化] チェック ボックスをオンにします。これはコレクションによって生成された、スタックを解決できない場合があります。トレース ファイルのサイズが小さくなります。詳細については、「CLR ETW プロバイダー」を参照してください。
サンプル イベント
実行スレッドに関連付けられた呼び出し履歴を収集するサンプル イベントを使用できます。これらのイベントは、現在のプロセスで実行されているスレッドのミリ秒ごとに約 1 回行われます。サンプル イベントのコレクションを無効にすれば、収集されたトレースのサイズが減りますが、スレッド実行に関連する呼び出し履歴を表示できません。
GPU イベント
GPU イベントは、DirectX によって生成されたイベントです。GPU イベントのコレクションを無効にすれば、収集されたトレースのサイズが削減され、使用状況ビューで GPU アクティビティや、スレッド ビューのレンダリング エンジンのアクティビティを表示できません。
ファイル I/O イベント
ファイル I/O イベントは、現在のプロセスに代わってディスクへのアクセスを表します。ファイル I/O イベントを無効にすれば、トレースのサイズが減りますが、スレッド ビューはディスク チャネルまたはディスク操作に関する情報を報告しません。
Markers
マーカー タブで、同時実行ビジュアライザーにマーカーとして示すの ETW プロバイダーの設定を構成できます。Importance レベルおよび ETW のカテゴリに基づいてマーカーのコレクションをフィルター処理できます。同時実行ビジュアライザー SDK を使用して、独自のマーカーのプロバイダーを使用すると、スレッド ビューに表示されるように登録することができます。
新しいプロバイダーの追加
コードが 同時実行ビジュアライザー SDK を使用するか、EventSource 規則に従って ETW イベントを生成する場合、このダイアログ ボックスの登録によって同時実行ビジュアライザーの各イベントを表示できます。
名前フィールドに、プロバイダーによって生成されるイベントの種類を示す名前を入力します。GUID フィールドにこのプロバイダーに関連付けられた GUID を入力します。(A GUID はの ETW プロバイダーに関連付けられます。
必要に応じて、かどうかカテゴリや重要度レベルに基づいてこのプロバイダーからイベントを、除外するかを指定できます。同時実行ビジュアライザー SDK のカテゴリに基づいてフィルターに Category フィールドを使用できます。これを行うには、Category カテゴリまたは範囲をコンマ区切りの文字列を入力します。これは、現在のプロバイダーに表示するイベントのカテゴリを指定します。EventSource のプロバイダーは、ETW キーワードでフィルター処理に Category フィールドを使用できます。キーワードがビットマスクであるため、マスク内のビットを設定する方法を指定するために整数をコンマ区切りの文字列を使用できます。たとえば、「1,2 "は 1 番秒単位を設定することにより、10 進の 6 に変換します。
ETW レベルであるか重要な指定値未満イベントをフィルター処理するために重要度レベルのリストを使用できます。
既存のプロバイダーの構成
既存のプロバイダーに関連付けられた構成を編集するには、一覧で列を選択し、[プロバイダーを編集します] ボタンをクリックします。名前、GUID とフィルター処理の設定を変更できます。
同時実行ビジュアライザー レポートのフィルターのマーカー データ
特定のプロバイダーのデータ、その後のトレースに表示しない場合は、削除するプロバイダーの横のチェック ボックスをオフにします。
ファイル
[ファイル] タブで、トレース ファイルがトレース収集されるたびに格納されるディレクトリを指定できます。同時実行ビジュアライザーでは、収集する各トレースの 4 種類のファイルを生成する:
カーネルモードのイベント トレース ログの (ETL) ファイル (*.kernel.etl)
ユーザーのイベントのトレース ログ ファイル (*.user.etl)
同時実行ビジュアライザーのデータ ファイル (*.CVData)
同時実行ビジュアライザー トレース ファイル (*.CVTrace)
2 個の ETL ファイルは、生のトレース データを格納し、2 種類の同時実行ビジュアライザー ファイルは、処理するデータを格納します。生の ETL ファイルは、通常、トレースが処理された後に使用されません。[分析後にイベント トレース ログ (ETL) ファイルを削除] のチェック ボックスをオンにすると、ディスクに格納されたトレース データ量を削減できます。