Пакет SDK визуализатора параллелизма

Исходный код можно инструментировать с помощью пакета SDK визуализатора параллелизма для отображения дополнительных сведений в визуализаторе параллелизма. Дополнительные данные можно связать с этапами и событиями в коде. Эти дополнительные визуализации называются маркерами. Вводное пошаговое руководство см. в разделе "Введение пакета SDK для визуализатора параллелизма".

Свойства

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

Базовое использование

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

C# и Visual Basic

В C#, Visual Basic и другом управляемом коде используйте поставщика по умолчанию, вызывая методы в классе Markers. Он предоставляет четыре метода для создания маркеров: WriteFlag, EnterSpan, WriteMessage и WriteAlert. Для этих функций существует несколько перегрузок в зависимости от того, следует ли использовать значения по умолчанию для свойств. Самая простая перегрузка принимает только строковый параметр, указывающий описание события. Описание отображается в отчетах визуализатора параллелизма.

Добавление поддержки пакета SDK в проект C# или Visual Basic
  1. В строке меню выберите "Анализ", "Визуализатор параллелизма", "Добавить пакет SDK" в проект.

  2. Выберите проект, в котором требуется получить доступ к пакету SDK, а затем нажмите кнопку "Добавить пакет SDK" в выбранный проект .

  3. Добавьте в код инструкцию import или using.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

В C++создайте объект класса marker_series и используйте его для вызова функций. Класс marker_series предоставляет три функции для создания маркеров: функцию marker_series::write_flag, функцию marker_series::write_message и функцию marker_series::write_alert.

Добавление поддержки пакета SDK в проект C++ или C
  1. В строке меню выберите "Анализ", "Визуализатор параллелизма", "Добавить пакет SDK" в проект.

  2. Выберите проект, в котором требуется получить доступ к пакету SDK, а затем нажмите кнопку "Добавить пакет SDK" в выбранный проект .

  3. Для C++включите cvmarkersobj.h. Для C включите cvmarkers.h.

  4. Добавьте инструкцию using в код.

    using namespace Concurrency::diagnostic;
    
  5. marker_series Создайте объект и передайте его конструкторуspan.

    
    marker_series mySeries;
    span s(mySeries, _T("Span description"));
    
    

Настраиваемое использование

В расширенных сценариях пакет SDK визуализатора параллелизма предоставляет больше элементов управления. Два основных понятия связаны с более сложными сценариями: поставщиками маркеров и рядом маркеров. Поставщики маркеров являются различными поставщиками ETW (каждый из них имеет другой GUID). Ряд маркеров — это последовательные каналы событий, создаваемых одним поставщиком. Их можно использовать для упорядочивания событий, создаваемых поставщиком маркеров.

Использование нового поставщика маркеров в проекте C# или Visual Basic

  1. Создайте объект MarkerWriter . Конструктор принимает GUID.

  2. Чтобы зарегистрировать поставщика, откройте диалоговое окно "Расширенные параметры визуализатора параллелизма". Перейдите на вкладку "Маркеры" и нажмите кнопку "Добавить нового поставщика ". В диалоговом окне "Дополнительные параметры" введите GUID, который использовался для создания поставщика и описания поставщика.

Использование нового поставщика маркеров в проекте C++ или C

  1. Используйте функцию CvInitProvider для инициализации PCV_PROVIDER. Конструктор принимает GUID* и PCV_PROVIDER*.

  2. Чтобы зарегистрировать поставщика, откройте диалоговое окно "Дополнительные параметры ". Перейдите на вкладку "Маркеры" и нажмите кнопку "Добавить нового поставщика ". В этом диалоговом окне введите GUID, который использовался для создания поставщика и описания поставщика.

Использование ряда маркеров в проекте C# или Visual Basic

  1. Чтобы использовать новую MarkerSeries, сначала создайте её с помощью объекта MarkerWriter, а затем генерируйте события маркеров непосредственно из новой серии.

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries("Series 1");
    series1.WriteFlag("My flag");
    

Использование ряда маркеров в проекте C++

  1. Создайте объект marker_series. Вы можете создавать события из этой новой серии.

    marker_series series;
    series.write_flag(_T("Hello world!"));
    

Использование ряда маркеров в проекте C

  1. Используйте функцию CvCreateMarkerSeries, чтобы создать PCV_MARKERSERIES.

    PCV_MARKERSERIES series;
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);
    CvWriteFlag(series, _T("Writing a flag"));
    

См. также

Название Description
Справочник по библиотеке C++ Описывает API визуализатора параллелизма для C++.
Справочник по библиотеке C Описывает API визуализатора параллелизма для C.
Инструментация Описывает API визуализатора параллелизма для управляемого кода.
Визуализатор параллелизма Справочные сведения о представлениях и отчетах о файлах данных профилирования, создаваемых с помощью метода параллелизма, и которые включают данные выполнения потока.