ブロック時間のプロファイル レポートBlocking Time Profile Report

プロファイル レポートは、ブロック カテゴリ別 ("I/O" や "Synchronization" など) の呼び出し履歴を対象に、ブロック時間の集計データを提供します。The Profile Reports provide aggregate blocking time data for call stacks that are specific to each blocking category (for example "I/O" or "Synchronization"). 優先レポートには、現在のプロセスに取って代わったプロセスと優先インスタンスの数が一覧表示されます。The Preemption report lists the processes that preempted the current process together with the number of preemption instances. ブロック プロファイル レポートを作成するために、このツールはブロック API 呼び出しを収集し、呼び出し履歴のツリーを作成します。To build the blocking profile report, the tool collects blocking API calls and accumulates them into a tree of call stacks. これらのレポートに表示されるデータは、現在の時間の範囲、非表示のスレッド、適用される場合がある次の 2 つのフィルターによって変わります。Data that's shown in these reports varies by the current time range, by hidden threads, and by the following two filters that may be applied:

  • [マイ コードのみ] が選択されている場合、ユーザー コードのあるスタック フレームとそのユーザー コードの 1 つ下のレベルのみが表示されます。If Just My Code is selected, only stack frames that have user code are presented, plus one level below the user code.

  • [不要項目の非表示] 値が設定されている場合、指定した頻度を下回る照合済みスタックは省略されます。If the Noise reduction value is set, collated stacks that have less than the specified frequency are skipped.

    コール ツリー エントリを展開し、ブロック時間が使われたコード行を見つけます。Expand any call-tree entry to find the line of code in which blocking time is spent. エントリのソース行を見つけるには、そのシュートカット メニューで、[ソースの表示] を選択します。To locate the line of source for an entry, on its shortcut menu, choose View Source. それを呼び出したコード行を見つけるには、ショートカット メニューで、[呼び出しサイトの表示] を選択します。To locate the line of code that called this one, on the shortcut menu, choose View Call Sites. 呼び出しサイトが 1 つだけ利用できる場合、このコマンドで、呼び出しサイトの強調表示されているコード行につながります。If only one call site is available, the command connects to the highlighted line of code for the call site. 複数の呼び出しサイトが利用できる場合、コマンドでダイアログ ボックスが開きます。そのダイアログ ボックスで、エントリを選択し、[ソースに移動] ボタンを選択すると、強調表示されている呼び出しサイトが見つかります。If multiple call sites are available, the command opens a dialog box in which you can select an entry and then choose the Go to source button to locate the highlighted call site. 多くの場合、インスタンスが最も多い、または最も多くの時間を費やしている、あるいはそれら両方に当てはまる呼び出しサイトのソース コードを表示すると最も便利です。It's often most useful to view source code for the call site that has the most instances, the most time, or both.

ブロック時間レポートの列Blocking Time Report Columns

次の表は、各ブロック時間レポートの列をまとめたものです。The following table shows the columns for each blocking time report.

列名Column name 説明Description
名前Name 呼び出し履歴の各レベルの関数の名前。The name of the function for each level of the call stack.
インスタンスInstances 表示された期間のブロック呼び出しのインスタンスの数。The number of instances of the blocking call for the visible time period.
包括的ブロック時間Inclusive Blocking Time 呼び出し履歴ツリーのこのレベルまでのすべてのスタックに使われたブロック時間合計。The total blocking time that's spent for all stacks that roll up to this level of the call stack tree. 包括的な数字は、この関数の排他的ブロック時間とそのすべての子ノードの排他的ブロック時間の合計です。The inclusive number is the sum of exclusive blocking time for this function and exclusive blocking time for all its child nodes.
排他的ブロック時間Exclusive Blocking Time この関数が呼び出し履歴の最下位レベルにあるときに使われたブロック時間合計。The total blocking time that's spent during which this function is the lowest level of the call stack. 排他的ブロック時間の値が高い一意の呼び出し履歴エントリが関心のある関数となる可能性があります。A unique call stack entry that has a high exclusive blocking time may be a function of interest.
API/待機カテゴリAPI/Wait Category 呼び出し履歴の最下位レベルの関数にのみ表示されます。Shown only for functions at the lowest level of the call stack. ブロック呼び出しのシグネチャが認識される箇所では、ブロック API が与えられます。Where the signature of the blocking call is recognized, the name of the blocking API is provided. シグネチャが認識されない場合、カーネルにより報告された情報が与えられます。If the signature is not recognized, the information that's reported by the kernel is provided.
詳細Details 関数の完全修飾名。Fully qualified name of the function. これには、利用できる場合、行数が含まれます。This includes line count when it's available.

同期Synchronization

同期化レポートには、同期でブロックしているセグメントの原因となっている呼び出しと各呼び出し履歴のブロック時間の集計が表示されます。The Synchronization report shows the calls that are responsible for segments that are blocking on synchronization, and the aggregate blocking times of each call stack. 詳細については、「同期時間」を参照してください。For more information, see Synchronization Time

SleepSleep

スリープ レポートには、スリープ時間の原因となったブロック時間の原因となっている呼び出しと各呼び出し履歴のブロック時間の集計が表示されます。The Sleep report shows the calls that are responsible for blocking time that was attributed to time that was spent sleeping, and the aggregate blocking times of each call stack. 詳細については、「スリープ時間」を参照してください。For more information, see Sleep Time.

I/OI/O

I/O レポートには、I/O でブロックしているセグメントの原因となっている呼び出しと各呼び出し履歴のブロック時間の集計が表示されます。The I/O report shows the calls that are responsible for segments that are blocking on I/O, and the aggregate blocking times of each call stack. 詳細については、「I/O 時間 (スレッド ビュー)」を参照してください。For more information, see I/O Time (Threads View).

メモリ管理Memory Management

メモリ管理レポートには、メモリ管理操作でブロックしているセグメントの原因となっている呼び出しと各呼び出し履歴のブロック時間の集計が表示されます。The Memory Management report shows the calls that are responsible for segments that are blocking on memory management operations, and the aggregate blocking times of each call stack. 詳細については、「メモリ管理時間」を参照してください。For more information, see Memory Management Time.

優先Preemption

優先レポートには、現在のプロセスに取って代わったプロセスとインスタンスの数が一覧表示されます。The Preemption report lists the processes that preempted the current process together with the number of instances. 各プロセスを展開し、現在のプロセスのスレッドに取って代わったスレッドを表示したり、スレッドごとの優先インスタンスの内訳を表示したりできます。You can expand each process to view the specific threads that replaced threads in the current process and to view a breakdown of preemption instances per thread. このブロック レポートは他のブロック レポートほど実用的ではありません。優先は通常、コード内の問題ではなく、オペレーティング システムによってプロセスに与えられるためです。This blocking report is less actionable than the others because preemption is typically imposed on your process by the operating system, not by a problem in your code. 詳細については、「優先時間」を参照してください。For more information, see Preemption Time.

UI 処理UI Processing

UI 処理レポートには、UI 処理ブロックでブロックしているセグメントの原因となっている呼び出しと各呼び出し履歴のブロック時間の集計が表示されます。The UI Processing report shows the calls that are responsible for blocking segments that are blocking on UI processing blocks, and the aggregate blocking times of each call stack. 詳細については、「UI 処理時間」を参照してください。For more information, see UI Processing Time.

関連項目See Also

スレッド ビューThreads View