リソースの競合ビュー - プロファイラー競合データ

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

リソースの競合ビューには、競合イベントが発生する原因となったリソースの競合データが表示されます。 競合イベントは、あるスレッドの関数にリソースへの排他アクセスが割り当てられているため、そのリソースに対する別のスレッドの関数からのアクセスが待機状態になると発生します。 それぞれのリソースが、競合イベントが発生する原因となった関数の実行パスを表示するコール ツリーのルート ノードに該当します。

データの値

リソースの値

リソース行のデータには、プロファイル データのリソースへのアクセスがブロックされた合計時間およびこのリソースへのアクセスの競合によって発生した競合イベントの合計数が表示されます。 リソースの包括値と排他値は常に同じです。

関数の値

関数の値は、コール ツリーで表される実行パスで発生する関数のインスタンスに基づいて決まります。

  • 排他値は、関数でその関数本体のステートメントを実行したときに発生するイベントに基づいて決まります。 関数によって呼び出された関数が原因で発生したイベントは排他値に含まれません。

  • 包括値は、関数またはその関数によって呼び出された関数を実行したときに発生するイベントに基づいて決まります。

割合の値

割合の値は、プロファイル データの合計時間または競合イベントに基づいて決まります。 プロファイリング実行のレポートまたはビューをフィルター処理すると、フィルター処理されたデータのブロックされた時間と競合のみが合計値として使用されます。

リソース割り当てビュー内の移動

説明
名前 リソースまたは関数の名前。
[排他ブロック時間] - リソースの場合、リソースへのアクセスがブロックされたことでスレッドに発生した待ち時間の合計。
- 関数の場合、関数でその関数本体のコードを実行したときに、関数のこれらのインスタンスによる親リソースへのアクセスがブロックされていた時間。 この関数によって呼び出された関数のブロック時間は含まれません。
[排他ブロック時間 %] - リソースの場合、プロファイル データのすべてのブロック時間に対する、このリソースがブロックされた時間の割合。
- 関数の場合、プロファイル データのすべてのブロック時間に対する、これらの関数のインスタンスの排他的なブロック時間の割合。
[排他競合] - リソースの場合、リソースへのアクセスがブロックされたことでスレッドに待機が発生した合計回数。
- 関数の場合、関数でその関数本体のコードを実行したときに、関数のこれらのインスタンスによる親リソースへのアクセスがブロックされた回数。 この関数によって呼び出された関数のブロック イベントは含まれません。
[排他競合 %] - リソースの場合、プロファイル データのすべての競合イベントに対する、このリソースへのアクセスによる競合イベントの割合。
- 関数の場合、プロファイル データのすべての競合イベントに対する、これらの関数インスタンスによる親リソースの排他競合イベントの割合。
包括ブロック時間 - リソースの場合、リソースへのアクセスがブロックされたことでスレッドに発生した待ち時間の合計。
- 関数の場合、関数でその関数本体のコードを実行したときに、関数のインスタンスまたはそのインスタンスによって呼び出された関数のインスタンスによる親リソースへのアクセスがブロックされていた時間。
包括ブロック時間 % - リソースの場合、プロファイル データのすべてのブロック時間に対する、このリソースがブロックされた時間の割合。
- 関数の場合、プロファイリング実行のすべてのブロック時間に対する、これらの関数のインスタンスの包括的なブロック時間の割合。
包括競合 - リソースの場合、リソースへのアクセスがブロックされたことでスレッドに待機が発生した合計回数。
- 関数の場合、プロファイリング実行のすべての競合イベントに対する、これらの関数インスタンスによる親リソースの包括競合イベントの割合。
包括競合 % - リソースの場合、プロファイリング実行のすべての競合イベントに対する、このリソースへのアクセスによる競合イベントの割合。
- 関数の場合、関数でその関数本体のコードを実行したときに、関数のこれらのインスタンスによる親リソースへのアクセスがブロックされた回数。 この関数によって呼び出された関数のブロック イベントは含まれません。
Level コール ツリーにおけるこの関数の深度。 VSPerfReport コマンド ライン レポートでのみ有効です。
[関数行番号] ソース ファイルのこの関数の開始行番号。
[モジュール名] 関数を含むモジュールの名前。
[モジュール パス] 関数を含むモジュールのパス。
プロセス ID 関数を実行したプロセスのプロセス ID (PID)。
プロセス名 プロセスの名前。
[ソース ファイル] この関数の定義を含むソース ファイル。