Представление "Дерево вызовов" — данные конфликтов

В преставлении "Дерево вызовов" отображаются пути выполнения функции, пересеченные в профилируемом приложении. Корнем дерева является точка входа в приложение или компонент. В каждом узле функции перечислены все вызванные ею функции, указано число и общая продолжительность блокировок этой функции из-за конфликтов с другими потоками или процессами при доступе к ресурсам.

Значения в представлении "Дерево вызовов" приведены для экземпляров функций, вызванных родительской функцией в дереве вызовов. Процентные значения вычисляются в ходе сравнения значений для экземпляров функции с общим числом конфликтов в сеансе профилирования.

Выделение критического пути выполнения

Можно развернуть представление в виде дерева вызовов и выделить путь выполнения процесса или функции, который создал больше всего конфликтов.

  • Чтобы отобразить самый активный путь, щелкните процесс или функцию правой кнопкой мыши и выберите команду Развернуть критический путь.

Задание корневого узла дерева вызовов

Каждый процесс в сеансе профилирования отображается как корневой узел. Чтобы задать начальный узел для представления в виде дерева вызовов, щелкните правой кнопкой мыши тот узел, который следует задать в качестве начального, и выберите команду Задать корень.

Когда вы выбираете корневой узел, из представления удаляются все записи, кроме поддерева этого узла. Чтобы восстановить исходное значение корневого узла, щелкните правой кнопкой мыши в окне представления в виде дерева вызовов и выберите Сбросить корень.

Столбец Описание
Эксклюзивное время блокировки Время, в течение которого экземпляры этой функции в этом пути выполнения были заблокированы при выполнении сеанса профилирования. Сюда не включается время блокировки дочерних функций, которые были вызваны этой функцией.
% эксклюзивного времени блокировки Доля времени в процентах от общего времени блокировки в сеансе профилирования, в течение которого эта функция была эксклюзивно заблокирована в этом пути выполнения.
Эксклюзивные конфликты Число конфликтов для экземпляров этой функции в этом пути выполнения. Это число не включает конфликты дочерних функций, которые были вызваны этой функцией.
% эксклюзивных конфликтов Процентная доля конфликтов в сеансе профилирования, которые оказались эксклюзивными для экземпляров этой функции, вызванных родительской функцией в дереве вызовов.
Адрес функции Адрес функции.
Имя функции Полное имя функции.
Включая время блокировки Общее время, в течение которого экземпляры этой функции в этом пути выполнения были заблокированы при выполнении сеанса профилирования. Сюда включается время блокировки дочерних функций, вызванных этой функцией.
Включая % времени блокирования Доля времени в процентах от общего времени блокировки в сеансе профилирования, в течение которого экземпляры этой функции были инклюзивно заблокированы в этом пути выполнения.
Включая состязания Общее число конфликтов, заблокировавших экземпляры этой функции в этом пути выполнения. Это число включает конфликты дочерних функций, которые были вызваны этой функцией.
Включая % состязаний Доля времени в процентах от общего времени конфликтов в сеансе профилирования, в течение которого существовали инклюзивные конфликты для этой функции в этом пути выполнения.
Уровень Уровень расположения функции в дереве вызовов. Только в отчетах командной строки VSPerfReport. Дополнительные сведения см. в статье о VSPerfReport.
Номер строки функции Номер строки, на которой эта функция начинается в исходном файле.
Имя модуля Имя модуля, содержащего функцию.
Путь к модулю Путь к модулю, содержащему функцию.
Идентификатор процесса Идентификатор процесса (PID) сеанса профилирования.
Имя процесса Имя процесса.
Исходный файл Исходный файл, содержащий определение данной функции.

См. также