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

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

Свойства

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

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

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

C# и Visual Basic

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

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

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

  3. Добавьте в код оператор imports или 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 визуализатора параллелизма предоставляет больше возможностей управления. С ними связаны два следующих основных понятия: поставщики маркеров и наборы маркеров. Поставщики маркеров представляют собой различные поставщики трассировки событий Windows (каждый из которых имеет отличающийся от других GUID). Наборы маркеров представляют собой последовательные каналы событий, созданные одним поставщиком. Их можно использовать для организации событий, созданных поставщиком маркеров.

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

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

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

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

  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 визуализатора параллелизма для управляемого кода.
Визуализатор параллелизма Справочные сведения по представлениям и отчетам файлов данных профилирования, которые создаются с помощью метода параллелизма и включают данные выполнения потоков.