[詳細設定] ダイアログ ボックス (同時実行ビジュアライザー)Advanced Settings Dialog Box (Concurrency Visualizer)

同時実行ビジュアライザーの [詳細設定] ダイアログ ボックスを使うと、トレースを収集する方法を制御できます。By using the Advanced Settings dialog box in the Concurrency Visualizer, you can control how traces are collected. このダイアログ ボックスには、シンボル、マイ コードのみ、バッファリング、フィルター処理、CLR イベント、マーカー、プロバイダー、およびファイルに関するタブがあります。The dialog box has tabs for symbols, Just My Code, buffering, filtering, CLR events, markers, providers, and files.

シンボルSymbols

同時実行ビジュアライザーは、Visual Studio デバッガーと同じシンボルの設定を使います。The Concurrency Visualizer uses the same symbol settings as the Visual Studio Debugger. 同時実行ビジュアライザーは、パフォーマンス データに関連付けられている呼び出し履歴を解決するために、この設定を使います。The Concurrency Visualizer uses the settings to resolve call stacks that are associated with performance data. トレースを処理するとき、同時実行ビジュアライザーは設定ページで指定されているシンボル サーバーにアクセスします。When it processes traces, the Concurrency Visualizer accesses the symbol servers that are specified in the settings page. このデータにネットワーク経由でアクセスすると、トレースの処理が遅くなります。When this data is accessed over a network, trace processing slows down. シンボルの解決に必要な時間を減らすには、ローカルにシンボルをキャッシュできます。To reduce the amount of time that's required to resolve symbols, you can cache symbols locally. シンボルがダウンロードされている場合、Visual Studio はローカル キャッシュからシンボルを読み込みます。If symbols have been downloaded, Visual Studio will load them from the local cache.

マイ コードのみJust My Code

既定では、マイ コードのみは、Visual Studio の現在のソリューションに関連付けられている .exe ファイルと .dll ファイルのセットです。By default, Just My Code is the set of .exe and .dll files that are associated with the current solution in Visual Studio. 同時実行ビジュアライザーは、マイ コードのみ機能を使って呼び出し履歴をフィルター処理するときに、この一連のファイルを評価します。The Concurrency Visualizer evaluates this set of files when you use the Just My Code feature to filter call stacks. [マイ コードのみ] タブでは、同時実行ビジュアライザーがマイ コードのみ用に使う場所に、.exe ファイルや .dll ファイルが格納されているディレクトリを追加できます。On the Just My Code tab, you can add directories that contain .exe and .dll files to the locations that the Concurrency Visualizer uses for Just My Code.

.exe ファイルや .dll ファイルのパスは、トレースが収集されるときにトレース ファイルに保存されます。The paths of the .exe and .dll files are stored in the trace file when the trace is collected. この設定を変更しても、以前に収集されたトレースには影響しません。Changing this setting does not affect any previously collected traces.

バッファリングBuffering

同時実行ビジュアライザーは、トレースを収集するときに Windows イベント トレーシング (ETW) を使います。The Concurrency Visualizer uses Event Tracing for Windows (ETW) when it collects a trace. ETW は、イベントを格納するときにさまざまなバッファーを使います。ETW uses various buffers as it stores events. ETW バッファーの既定の設定は、すべての場合に最適であるとは限らず、状況によっては、イベントが失われるといった問題が発生する可能性があります。The default ETW buffer settings might not be optimal in all cases, and in some cases, might cause problems such as lost events. [バッファリング] タブを使って、ETW バッファーの設定を構成できます。You can use the Buffering tab to configure ETW buffer settings. 詳しくは、「Event Tracing」(イベント トレース) および「EVENT_TRACE_PROPERTIES structure」(EVENT_TRACE_PROPERTIES 構造体) をご覧ください。For more information, see Event Tracing and EVENT_TRACE_PROPERTIES structure.

フィルターFilter

[フィルター] タブでは、同時実行ビジュアライザーが収集するイベントのセットを選ぶことができます。On the Filter tab, you can select the set of events that the Concurrency Visualizer collects. イベントのサブセットを選ぶと、レポートに表示されるデータの種類が制限され、各トレースのサイズが小さくなり、トレースの処理に必要な時間が短くなります。Selecting a subset of events limits the types of data that are displayed in the reports, reduces the size of each trace, and reduces the time that's required to process traces.

CLR イベントCLR Events

共通言語ランタイム (CLR) によって生成されるイベントを使うことで、同時実行ビジュアライザーはマネージ呼び出し履歴を解決できます。Events generated by the Common Language Runtime (CLR) enable the Concurrency Visualizer to resolve managed call stacks. CLR イベントの収集を無効にした場合、トレースのサイズは減りますが、一部の呼び出し履歴が解決されません。If you disable collection of CLR events, the trace size will be reduced, but some call stacks will not resolve. その結果、一部の CPU スレッド アクティビティが誤って分類される可能性があります。As a result, some CPU thread activity might be incorrectly categorized.

ネイティブ プロセスを収集Collect For Native Processes

CLR イベントは、通常はネイティブ プロセスに必要ないため、既定では、マネージ プロセスがプロファイリングされるときにのみ収集されます。By default, CLR events are collected only when a managed process is profiled because they are normally unnecessary for native processes. 場合によっては (たとえば、ネイティブ プロセスが CLR をホストしている場合)、ネイティブ プロセス用に CLR イベントを収集する必要があります。In some cases (for example, when a native process is hosting the CLR), you might have to collect CLR events for a native process. その場合は、[ネイティブ プロセスを収集] チェック ボックスをオンにします。If this is the case, select the Collect for Native Processes check box.

ランダウン イベントを無効化Disable Rundown Events

CLR は、ランタイムとランダウンの 2 つのプロバイダーからイベントを生成します。The CLR generates events from two providers: runtime and rundown. CLR ランタイム イベントのみを収集し、ランダウン イベントを収集しないようにする場合は、[ランダウン イベントを無効化] チェック ボックスをオンにします。If you want to collect CLR runtime events, but want to avoid collecting rundown events, select the Disable Rundown Events check box. これにより、収集によって生成されるトレース ファイルのサイズが小さくなりますが、一部のスタックが解決されない場合があります。This reduces the size of the trace file that's generated by collection, but some stacks might not resolve. 詳しくは、「CLR ETW プロバイダー」をご覧ください。For more information, see CLR ETW Providers

サンプル イベントSample Events

サンプル イベントを使って、スレッドの実行に関連付けられている呼び出し履歴を収集できます。You can use sample events to collect call stacks that are associated with thread execution. これらのイベントは、現在のプロセスで実行しているスレッドに対して、1 ミリ秒あたり約 1 回収集されます。These events are collected approximately once per millisecond for threads that are executing in the current process. サンプル イベントの収集を無効にすると、収集されるトレースのサイズは小さくなりますが、スレッドの実行に関連付けられている呼び出し履歴を表示できなくなります。If you disable the collection of sample events, the size of the collected trace is reduced, but you cannot view any call stacks that are associated with thread execution.

GPU イベントGPU Events

GPU イベントは、DirectX によって生成されるイベントです。GPU Events are events generated by DirectX. GPU イベントの収集を無効にすると、収集されるトレースのサイズは小さくなりますが、使用状況ビューの GPU アクティビティまたはスレッド ビューの DirectX エンジン アクティビティが、表示されなくなります。If you disable the collection of GPU events, the size of the collected trace is reduced, but you cannot view any GPU Activity in the Utilization view, or DirectX Engine activity in the Threads View.

ファイル I/O イベントFile I/O Events

ファイル I/O イベントは、現在のプロセスの代わりのディスクへのアクセスを表します。File I/O events represent accesses to the disk on behalf of the current process. ファイル I/O イベントを無効にすると、トレースのサイズは小さくなりますが、スレッド ビューでディスク チャネルまたはディスク操作についての情報が報告されなくなります。If you disable File I/O events, the size of the trace is reduced, but the Threads View will not report any information about disk channels or Disk Operations.

MarkersMarkers

[マーカー] タブでは、同時実行ビジュアライザーでマーカーとして示される ETW プロバイダーのセットを構成できます。On the Markers tab, you can configure the set of ETW providers that are shown as Markers in the Concurrency Visualizer. また、重要度レベルと ETW のカテゴリに基づいてマーカーのコレクションをフィルター処理することもできます。You can also filter the Marker collection based on importance level and ETW category. 同時実行ビジュアライザー SDK を使っている場合、独自のマーカー プロバイダーをここで登録してスレッド ビューに表示できます。If you are using the Concurrency Visualizer SDK and are using your own Marker provider, you can register it here so that it appears in the Threads View.

新しいプロバイダーの追加Adding a New Provider

コードで同時実行ビジュアライザー SDK を使っている場合、またはコードで EventSource 規約に従う ETW イベントを生成している場合は、それらのイベントをこのダイアログ ボックスで登録することにより、同時実行ビジュアライザーに表示できます。If your code uses the Concurrency Visualizer SDK or generates ETW events that follow the EventSource convention, you can view these events in the Concurrency Visualizer by registering them in this dialog box.

[名前] フィールドには、プロバイダーによって生成されるイベントの種類を説明する名前を入力します。In the Name field, enter a name that describes the types of events that are generated by the provider. [GUID] フィールドには、このプロバイダーに関連付けられている GUID を入力しますIn the GUID field, enter the GUID that is associated with this provider. (GUID は、すべての ETW プロバイダーに関連付けられます)。(A GUID is associated with every ETW provider.)

必要に応じて、カテゴリまたは重要度レベルに基づき、このプロバイダーからイベントをフィルターで除外するかどうかを指定できます。Optionally, you can specify whether to filter out events from this provider, based on category or importance level. カテゴリ フィールを使って、同時実行ビジュアライザー SDK のカテゴリに基づいてフィルター処理できます。You can use the category field to filter based on Concurrency Visualizer SDK categories. そのためには、カテゴリのコンマ区切り文字列またはカテゴリの範囲を入力します。To do this, enter a comma-delimited string of categories or ranges of categories. これにより、現在のプロバイダーで表示するイベントのカテゴリを指定します。This specifies the categories of events in the current provider to show. EventSource プロバイダーを追加している場合は、カテゴリ フィールドを使って、ETW キーワードでフィルター処理できます。If you are adding an EventSource provider, you can use the category field to filter by ETW keyword. キーワードはビットマスクなので、整数のコンマ区切り文字列を使って、マスクで設定するビットを指定できます。Because the keyword is a bitmask, you can use a comma-delimited string of integers to specify which bits in the mask are set. たとえば、"1,2" と指定すると 1 番目と 2 番目のビットが設定され、これは 10 進数では 6 になります。For example, "1,2" sets the first and second bits, and this translates to 6 in decimal.

重要度レベルの一覧を使って、重要度または ETW レベルが指定した値より小さいイベントを除外できます。You can use the importance-level list to filter out events that have an importance or ETW level that's less than the specified value.

既存のプロバイダーの構成Configuring an Existing Provider

既存のプロバイダーに関連付けられている設定を編集するには、一覧でプロバイダーを選び、[プロバイダーを編集します] ボタンを選びます。To edit settings that are associated with an existing provider, select it in the list, and then choose the Edit provider button. 名前、GUID、およびフィルター処理の設定を変更できます。You can change the name, GUID, and filtering settings.

同時実行ビジュアライザー レポートからのマーカー データの除外Filter Marker Data Out of Concurrency Visualizer Reports

特定のプロバイダーのデータが以降のトレースに含まれないようにする場合は、削除するプロバイダーの横にあるチェック ボックスをオフにします。If you don't want data for a particular provider to appear in future traces, clear the check box next to the provider that you want to remove.

ファイルFiles

[ファイル] タブでは、トレースが収集されるたびにトレース ファイルが格納されるディレクトリを指定できます。On the Files tab, you can specify the directory under which trace files are stored each time a trace is collected. 同時実行ビジュアライザーは、収集するトレースごとに 4 つのファイルを生成します。The Concurrency Visualizer generates four files for each trace it collects:

  • カーネル モード イベント トレース ログ (ETL) ファイル (.kernel.etl)A kernel-mode event trace log (ETL) file (.kernel.etl)

  • ユーザー モード イベント トレース ログ ファイル (.user.etl)A user-mode event trace log file (.user.etl)

  • 同時実行ビジュアライザー データ ファイル (.CVData)A Concurrency Visualizer Data file (.CVData)

  • 同時実行ビジュアライザー トレース ファイル (.CVTrace)A Concurrency Visualizer Trace file (.CVTrace)

    2 つの ETL ファイルには生のトレース データが保存され、2 つの同時実行ビジュアライザー ファイルには処理されたデータが保存されます。The two ETL files store the raw trace data, and the two Concurrency Visualizer files store the processed data. 生の ETL ファイルは通常、トレースが処理された後は使われません。The raw ETL files are typically not used after a trace is processed. [分析後にイベント トレース ログ (ETL) ファイルを削除] チェック ボックスをオンにすると、ディスクに保存されるトレース データの量が減ります。Selecting the Delete Event Trace Log (ETL) files after analysis check box reduces the amount of trace data that's stored on your disk.

関連項目See Also

マイ コードのみ Just My Code
同時実行ビジュアライザー マーカーConcurrency Visualizer Markers