Маркеры визуализатора параллелизма
В визуализаторе параллелизма маркеры — это значки, представляющие события в приложении. Как правило, приложение создает эти события для обозначения этапов или вхождений в приложении. События могут быть созданы приложением или библиотеками и средами выполнения, используемыми приложением.
Типы маркеров
Визуализатор параллелизма использует три вида маркеров для представления событий приложения: флаги, сообщения и диапазоны.
Флаг используется для указания интересующего момента времени в приложении. Например, флаг можно использовать,чтобы показать, что переменная достигла определенного порогового значения или что возникло исключение.
Сообщение также помечает момент времени, но его можно использовать для стиля трассировки в стиле ведения журнала. Например, все, что могло быть записано в файл журнала, теперь можно включать в вызов сообщения для отслеживания и просмотра в визуализаторе параллелизма. Можно также использовать визуализатор параллелизма, чтобы экспортировать эти данные в CSV-файл.
Диапазон представляет интервал времени в приложении, например один из его этапов.
Компоновка маркеров в потоки
Каждый поток, который создает маркеры, имеет отдельный канал временной шкалы. Идентификатор потока, который отвечает за создание событий маркера, отображается рядом с описанием канала маркера. Идентификатор, который отображается слева от канала маркера, соответствует идентификатору другого потока в текущем процессе.
Важность маркера
Маркеры могут иметь один из четырех уровней важности: низкий, обычный, высокий и критический. Можно отфильтровать источники маркеров в соответствии с уровнем важности. Например, если необходимо отобразить только маркеры из заданного источника с обычной или критической важностью, настройте фильтр в диалоговом окне Дополнительные параметры. Важность маркера отображается во всплывающей подсказке и в отчете по маркерам.
Категория маркера
Категория маркера указывает группу событий маркера, полученных из одного источника. Различные категории флагов и диапазонов визуализатор параллелизма выделяет цветом. Визуализатор параллелизма можно настроить для использования категорий в целях фильтрации событий маркера от конкретного поставщика событий. Для настройки фильтра служит диалоговое окно Дополнительные параметры.
Известные источники маркеров
Создавать маркеры может любой поставщик ETW, соответствующий определенным условиям. Визуализатор параллелизма можно настроить для прослушивания дополнительных источников событий для маркеров. По умолчанию он прослушивает указанные далее источники событий.
C++ AMP (C++ Accelerated Massive Parallelism)
На вкладке "Маркеры" в диалоговом окне Дополнительные параметры можно управлять отображением маркеров из различных источников в визуализаторе параллелизма, а также отфильтровать маркеры по уровню важности и категории.
Маркеры из EventSource
Визуализатор параллелизма может также отображать события EventSource. Дополнительные сведения см. в статье Visualizing EventSource Events as Markers (Визуализация событий EventSource как маркеров).
Маркеры флагов
Маркер флага представляет событие, которое произошло в определенный момент времени в приложении. Флаг может представлять различные типы событий приложения. Например, флаг может представлять момент, когда был запланирован определенный рабочий элемент или возникло исключение. Среды выполнения, такие как библиотека параллельных задач, также могут создавать флаги.
Важность флага
Размер флага зависит от его важности. Как и для любого маркера, важность может быть обычной, высокой и критической. На этом рисунке показан внешний вид маркеров по уровню важности.
Категория флага
Флаг отображается в одном из пяти различных цветов в зависимости от его категории. Цвета используются повторно, если требуется больше пяти категорий. Пользователь не может выбрать цвет. Как и любой маркер, категория может быть любым целым числом. На следующем рисунке показаны цвета первых пяти категорий.
видны узлы
Оповещение — это флаг красного цвета, представляющий критическое событие приложения, такое как исключение. Вот пример оповещения:
Объединяющие флаги
Иногда флаги отображаются так близко друг к другу в визуализаторе параллелизма, что их невозможно прорисовать по отдельности. Когда это происходит, отображается серый объединяющий флаг, представляющий базовые флаги. При наведении указателя мыши на один из этих значков появляется подсказка с количеством представленных базовых флагов. Чтобы просмотреть флаги, увеличьте масштаб. Если при полном увеличении все равно отображается объединяющий флаг, вы можете просмотреть базовые флаги в отчете о маркерах.
Объединяющие флаги отображаются в различных размерах. Размер зависит от уровня важности наиболее важных флагов в объединении. На следующем рисунке объединяющие флаги показаны в порядке возрастания их важности.
Маркеры сообщений
Маркер сообщения представляет выходные данные журнала. Сообщение — это строка, созданная конкретным потоком в определенное время. Сообщения можно экспортировать в текстовый файл для использования с другими средствами. Наведите указатель на сообщении в визуализаторе параллелизма, чтобы просмотреть строку сообщения. Все маркеры сообщений можно просмотреть в отчете по маркерам. На следующем рисунке показан маркер сообщения.
Маркеры объединенных сообщений
Иногда несколько сообщений находятся так близко друг к другу в визуализаторе параллелизма, что их невозможно отобразить по отдельности. В этом случае появляется маркер объединенных сообщений, который представляет базовые сообщения. При наведении указателя мыши на один из этих значков появляется подсказка с количеством представленных базовых сообщений. Чтобы просмотреть сообщения, увеличьте масштаб. Если при полном увеличении все равно отображается маркер объединения, вы можете просматривать базовые сообщения в отчете по маркерам.
Маркеры диапазонов
Маркер диапазона представляет содержательный этап приложения. Например, можно использовать диапазон для представления временного интервала, в течение которого обрабатывается определенный рабочий элемент. Его длина представляет длительность соответствующего этапа приложения. На этой иллюстрации показан диапазон в визуализаторе параллелизма:
Категория диапазона
Маркер диапазона отображается одним из пяти различных цветов в зависимости от его категории. Цвета используются повторно, если отображается более пяти категорий. Категория может быть любым целым числом. На этом рисунке показано пять возможных цветов:
Маркеры объединенных диапазонов
Иногда несколько маркеров диапазонов в визуализаторе параллелизма находятся настолько близко друг к другу, что они не могут быть показаны отдельно. Когда это происходит, отображается серый маркер объединенных диапазонов, который представляет базовые диапазоны. Когда вы наводите указатель на один из этих значков, выводится подсказка о количестве представленных базовых диапазонов. Для просмотра диапазонов увеличьте масштаб. Если вы максимально увеличили масштаб и все равно получаете маркер объединения, то базовые маркеры диапазонов можно просмотреть в отчете по маркерам. На рисунке ниже показан маркер объединенных диапазонов.