次の方法で共有


コンカレンシー ビジュアライザー SDK

コンカレンシー ビジュアライザー SDK を使用してソース コードをインストルメント化し、コンカレンシー ビジュアライザーに追加情報を表示できます。 コード内のフェーズとイベントに追加データを関連付けることができます。 これらの追加の視覚エフェクトはマーカーと呼 ばれます。 入門チュートリアルについては、「 コンカレンシー ビジュアライザー SDK の概要」を参照してください。

プロパティ

フラグ、スパン、およびメッセージにはそれぞれ、カテゴリと重要度という 2 つのプロパティがあります。 [ 詳細設定] ダイアログ ボックスでは、これらのプロパティを使用して、表示されるマーカーのセットをフィルター処理できます。 さらに、これらのプロパティはマーカーの視覚的表現に影響します。 たとえば、フラグのサイズは重要度を表すために使用されます。 さらに、色はカテゴリを示すために使用されます。

基本的な使用方法

コンカレンシー ビジュアライザーは、マーカーの生成に使用できる既定のプロバイダーを公開します。 プロバイダーはコンカレンシー ビジュアライザーと共に既に登録されており、マーカーを UI に表示するために他の操作を行う必要はありません。

C# と Visual Basic

C#、Visual Basic、およびその他のマネージド コードでは、 Markers クラスのメソッドを呼び出して既定のプロバイダーを使用します。 マーカーを生成するための 4 つのメソッド ( WriteFlagEnterSpanWriteMessageWriteAlert) が公開されています。 これらの関数には、プロパティに既定値を使用するかどうかに応じて、複数のオーバーロードがあります。 最も単純なオーバーロードは、イベントの説明を指定する文字列パラメーターのみを受け取ります。 コンカレンシー ビジュアライザー レポートに説明が表示されます。

C# または Visual Basic プロジェクトに SDK サポートを追加するには
  1. メニュー バーで、[ 分析]、[ コンカレンシー ビジュアライザー]、[ プロジェクトへの SDK の追加] の順に選択します。

  2. SDK にアクセスするプロジェクトを選択し、[ 選択したプロジェクトに SDK を追加 ] ボタンを選択します。

  3. コードに imports ステートメントまたは using ステートメントを追加します。

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

C++ で 、marker_series クラス オブジェクトを作成し、それを使用して関数を呼び出します。 marker_series クラスは、マーカーを生成するための 3 つの関数、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 によってより多くの制御が公開されます。 2 つの主要な概念は、マーカー プロバイダーとマーカー シリーズというより高度なシナリオに関連付けられています。 マーカー プロバイダーは異なる ETW プロバイダーです (それぞれ異なる GUID があります)。 マーカー系列は、1 つのプロバイダーによって生成されるイベントのシリアル チャネルです。 これらを使用して、マーカー プロバイダーによって生成されるイベントを整理できます。

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. PCV_MARKERSERIESを作成するには、 CvCreateMarkerSeries 関数を使用します。

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

こちらも参照ください

Title Description
C++ ライブラリ リファレンス C++ のコンカレンシー ビジュアライザー API について説明します。
C ライブラリ リファレンス C のコンカレンシー ビジュアライザー API について説明します。
インストルメンテーション マネージド コードのコンカレンシー ビジュアライザー API について説明します。
コンカレンシー ビジュアライザー コンカレンシー メソッドを使用して生成され、スレッド実行データを含むプロファイル データ ファイルのビューとレポートの参照情報。