다음을 통해 공유


동시성 시각화 도우미 SDK

동시성 시각화 도우미 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"));
    

참고하십시오

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