Диалоговое окно "Дополнительные параметры" (визуализатор параллелизма)
Диалоговое окно Дополнительные параметры в визуализаторе параллелизма позволяет управлять сбором трассировки. В нем содержатся следующие вкладки: "Символы", "Только мой код", "Буферизация", Filtering (Фильтрация), "События CLR", "Маркеры", "Поставщики" и "Файлы".
Символы
Визуализатор параллелизма использует те же параметры символов, что и отладчик Visual Studio. Эти параметры позволяют разрешить стеки вызовов, связанные с данными производительности. При обработке трассировки визуализатор параллелизма подключается к серверам символов, указанным на странице параметров. Если доступ к этим данным осуществляется по сети, обработка трассировки замедляется. Чтобы ускорить разрешение символов, их можно кэшировать локально. Если символы были скачаны, Visual Studio экспортирует их из локального кэша.
Только мой код
По умолчанию на вкладке "Только мой код" содержится набор EXE- и DLL-файлов, связанных с текущим решением в Visual Studio. Если вы используете функцию "Только мой код" для фильтрации стека вызовов, визуализатор параллелизма оценивает этот набор файлов. На этой вкладке вы можете добавить каталоги с EXE- и DLL-файлами в расположения, используемые визуализатором параллелизма при применении функции "Только мой код".
При сборе трассировки пути к EXE- и DLL-файлам сохраняются в файле трассировки. Изменение этого параметра не влияет на все собранные ранее трассировки.
Буферизация
Во время сбора трассировки визуализатор параллелизма использует приложение для трассировки событий Windows (ETW). При сохранении событий это приложение использует различные буферы. Мы не советуем использовать буфер трассировки событий Windows по умолчанию, так как в некоторых случаях он может вызывать определенные проблемы, например потерю событий. Чтобы настроить параметры буфера трассировки событий Windows, используйте вкладку "Буферизация". Дополнительные сведения см. в разделах Трассировка событий и Структура EVENT_TRACE_PROPERTIES.
Фильтр
На вкладке "Фильтр" вы можете выбрать набор событий, собираемых визуализатором параллелизма. При выборе подмножества событий снизится количество типов данных, отображаемых в отчете, уменьшится размер каждой трассировки и ускорится обработка трассировок.
CLR-события
События, созданные в среде CLR, позволяют визуализатору событий разрешать управляемые стеки вызовов. Если отключить сбор событий среды CLR, размер трассировки уменьшится, но некоторые стеки вызовов будут запрещены. В результате этого некоторые действия потока ЦП могут быть неправильно классифицированы.
Сбор для встроенных процессов
По умолчанию события среды CLR собираются только при наличии профилированного управляемого процесса, так как обычно они не нужны для встроенных процессов. В некоторых случаях, например, если встроенный процесс размещен в среде CLR, может потребоваться собрать события среды CLR для встроенных процессов. В этом случае установите флажок Сбор для встроенных процессов.
Отключение событий завершения
Среда CLR создает события от двух поставщиков: среды выполнения и очистки. Если вы хотите собрать события CLR, полученные только из среды выполнения, установите флажок Отключить события завершения. В результате этого размер файла трассировки, созданного во время сбора, уменьшится, но некоторые стеки могут быть запрещены. Дополнительные сведения см. в статье о поставщиках ETW среды CLR.
Примеры событий
Чтобы собрать стеки вызовов, связанные с выполнением потока, вы можете использовать примеры событий. Эти события потоков, выполняющихся в текущем процессе, собираются примерно раз в миллисекунду. Если отключить сбор примеров событий, размер собранной трассировки уменьшится, но вы не сможете просматривать стеки вызовов, связанные с выполнением потока.
События GPU
События GPU создаются средой DirectX. Если отключить сбор событий GPU, размер собранной трассировки уменьшится, но вы не сможете просматривать эти события в представлении "Использование ЦП" или события ядра DirectX в представлении "Потоки".
События ввода-вывода в файле
События ввода-вывода файла представляют обращения к диску от имени текущего процесса. Если отключить события ввода-вывода файла, размер собранной трассировки уменьшится, но в представлении "Потоки" не будут отображаться сведения о каналах или операциях диска.
Маркеры
На вкладке Маркеры вы можете настроить набор поставщиков ETW, которые отображаются как маркеры в визуализаторе параллелизма. Кроме того, здесь также можно отсортировать коллекцию маркеров в зависимости от уровня их важности или категории ETW. При использовании пакета SDK визуализатора параллелизма и собственного поставщика маркеров вы можете зарегистрировать его на этой вкладке, чтобы он отображался в представлении "Потоки".
Добавить нового поставщика
Если код использует пакет SDK визуализатора параллелизма или создает события ETW, соответствующие соглашению EventSource, эти события можно просмотреть в визуализаторе параллелизма, предварительно зарегистрировав их в этом окне.
В поле Имя введите имя, которое описывает типы событий, созданных поставщиком. В поле Идентификатор GUID введите GUID, связанный с этим поставщиком. (GUID связан с каждым поставщиком ETW.)
При необходимости вы можете указать, следует ли отфильтровывать события от этого поставщика на основе категории или уровня важности. Чтобы настроить фильтрацию на основе категорий пакета SDK визуализатора параллелизма, используйте поле категории. Для этого введите строку или диапазоны категорий, разделенные запятой. Это позволит указать, какие категории событий, полученных от текущего поставщика, следует показывать. При добавлении поставщика EventSource поле категории можно использовать, чтобы отфильтровать события по ключевому слову ETW. Ключевое слово представляет собой битовую маску. Поэтому, чтобы указать заданные в маске биты, вы можете ввести строку целых чисел, разделенных запятой. Например, значение 1,2 задает первый и второй бит и преобразует его в 6 в десятичном формате.
Чтобы отфильтровать события, имеющие важность или уровень ETW меньше, чем указанное значение, используйте список уровня важности.
Настройка имеющегося поставщика
Чтобы изменить параметры, связанные с имеющимся поставщиком, выберите его в списке, а затем нажмите кнопку Редактировать поставщик. Вы можете изменить имя, GUID и параметры фильтрации.
Фильтрация данных маркера в отчете визуализатора параллелизма
Если вы хотите, чтобы в будущих трассировках не отображались данные конкретного поставщика, снимите флажок рядом с поставщиком, которого необходимо удалить.
Files
На вкладке Файлы можно указать каталог, в который должны сохраняться файлы трассировки после сбора. Для каждой собранной трассировки визуализатор параллелизма создает 4 файла:
файл журнала трассировки событий режима ядра (.kernel.etl*);
файл журнала трассировки событий пользовательского режима (.user.etl*);
файл данных визуализатора параллелизма (.CVData*);
файл трассировки визуализатора параллелизма (.CVTrace*).
В двух ETL-файлах хранятся исходные данные трассировки, а в двух файлах визуализатора параллелизма — обработанные данные. Как правило, после обработки трассировки исходные ETL-файлы не используются. Если установить флажок Удалить файлы журнала трассировки событий (ETL) после анализа, сокращается объем данных трассировки, хранящихся на диске.