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