동시성 시각화 도우미 SDK

동시성 시각화 도우미에서 추가 정보를 표시하도록 동시성 시각화 도우미 SDK를 사용하여 소스 코드를 계측할 수 있습니다. 코드의 단계 및 이벤트와 추가 데이터를 연결할 수 있습니다. 이러한 추가 시각화를 표식이라고 합니다. 소개 연습에 대해서는 Introducing the Concurrency Visualizer SDK(동시성 시각화 도우미 SDK 소개)를 참조하세요.

속성

각 플래그, 범위 및 메시지에는 두 개의 속성인 범주와 중요도가 있습니다. 고급 설정 대화 상자에서, 이러한 속성을 사용하여 표시되는 표식의 집합을 필터링할 수 있습니다. 또한 이러한 속성은 표식의 시각적 표시에 영향을 줍니다. 예를 들어 플래그의 크기는 중요도를 나타내는 데 사용됩니다. 또한 색은 범주를 나타내는 데 사용됩니다.

기본 사용법

동시성 시각화 도우미에서 표식을 생성하는 데 사용할 수 있는 기본 공급자를 표시합니다. 공급자는 이미 동시성 시각화 도우미에 등록되어 있으며 표식을 UI에 표시하기 위해 다른 작업을 수행할 필요가 없습니다.

C# 및 Visual Basic

C#, Visual Basic 및 기타 관리 코드에서 Markers 클래스의 메서드를 호출하여 기본 공급자를 사용하세요. 표식을 생성하기 위한 네 가지 메서드인 WriteFlag, EnterSpan, WriteMessageWriteAlert를 노출합니다. 속성에 대한 기본값을 사용하려는지 여부에 따라 이러한 함수에 대한 오버로드가 여러 개 있습니다. 가장 간단한 오버로드는 이벤트에 대한 설명을 지정하는 문자열 매개 변수만 사용합니다. 설명은 동시성 시각화 보고서에 표시됩니다.

C# 또는 Visual Basic 프로젝트에 SDK 지원을 추가하려면
  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 메서드 표식을 생성하기 위한 세 가지 함수를 표시합니다.

C++ 또는 C 프로젝트에 SDK 지원을 추가하려면
  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"));
    

참고 항목

제목 설명
C++ 라이브러리 참조 C++용 동시성 시각화 도우미 API를 설명합니다.
C 라이브러리 참조 C용 동시성 시각화 도우미 API를 설명합니다.
계측 관리 코드용 동시성 시각화 도우미 API를 설명합니다.
Concurrency 시각화 동시성 방법을 사용하여 생성되고 스레드 실행 데이터를 포함하는 프로파일링 데이터 파일의 뷰 및 보고서에 대한 참조 정보를 제공합니다.