コンカレンシー ビジュアライザー SDK
コンカレンシー ビジュアライザー SDK を使用してソース コードをインストルメント化し、コンカレンシー ビジュアライザーに追加情報を表示することができます。 コードでフェーズとイベントに追加データを関連付けることができます。 このような追加の視覚化機能のことをマーカーと呼びます。 入門用のチュートリアルについては、「Introducing the Concurrency Visualizer SDK」(コンカレンシー ビジュアライザー SDK の概要) を参照してください。
Properties
フラグ、スパン、およびメッセージにはそれぞれ、カテゴリおよび重要度という 2 つのプロパティがあります。 [詳細設定] ダイアログ ボックスで、これらのプロパティを使用して、表示されるマーカーのセットをフィルター処理することができます。 また、これらのプロパティはマーカーの視覚表示に影響します。 たとえば、フラグのサイズを使用して重要度を表します。 また、色を使用してカテゴリを示します。
基本的な使用
コンカレンシー ビジュアライザーは、マーカーの生成に使用できる既定のプロバイダーを示します。 プロバイダーはコンカレンシー ビジュアライザーと共に既に登録されており、UI にマーカーを表示するためにユーザー側で行う必要がある操作はありません。
C# と Visual Basic
C#、Visual Basic、および他のマネージド コードでは、Markers クラスのメソッド を呼び出して既定のプロバイダーを使います。 マーカーを生成するための 4 つのメソッド (WriteFlag、EnterSpan 、WriteMessage、WriteAlert) が公開されています。 プロパティで既定を使用するかどうかに応じて、これらの関数には複数のオーバーロードがあります。 最も単純なオーバーロードは、イベントの説明を指定する文字列パラメーターのみを受け取ります。 説明はコンカレンシー ビジュアライザーのレポートに表示されます。
C# または Visual Basic のプロジェクトに SDK のサポートを追加するには
メニュー バーで、[分析]、[コンカレンシー ビジュアライザー]、[プロジェクトへの SDK の追加] の順に選択します。
SDK にアクセスするプロジェクトを選択し、[選択したプロジェクトに SDK を追加] ボタンを選択します。
imports ステートメントまたは using ステートメントをコードに追加します。
C++
C++ では、marker_series クラス オブジェクトを作成し、それを使用して関数を呼び出します。 marker_series
クラスは、マーカーを生成するための 3 つの関数 (marker_series::write_flag メソッド、marker_series::write_message メソッド、および marker_series::write_alert メソッド) を示します。
C++ または C のプロジェクトに SDK のサポートを追加するには
メニュー バーで、[分析]、[コンカレンシー ビジュアライザー]、[プロジェクトへの SDK の追加] の順に選択します。
SDK にアクセスするプロジェクトを選択し、[選択したプロジェクトに SDK を追加] ボタンを選択します。
C++ の場合は、
cvmarkersobj.h
を含めます。 C の場合は、cvmarkers.h
を含めます。using ステートメントをコードに追加します。
using namespace Concurrency::diagnostic;
marker_series
オブジェクトを作成し、それをspan
コンストラクターに渡します。marker_series mySeries; span s(mySeries, _T("Span description"));
カスタムの使用方法
高度なシナリオの場合、コンカレンシー ビジュアライザー SDK はより詳細に制御します。 より高度なシナリオには、2 つの主な概念 (マーカー プロバイダーとマーカー シリーズ) が関連付けられています。 マーカー プロバイダーはさまざまな ETW プロバイダー (それぞれ異なる GUID を持つ) です。 マーカー シリーズは、1 つのプロバイダーによって生成されるイベントのシリアル チャネルです。 マーカー プロバイダーによって生成されるイベントを整理する場合に使用できます。
C# または Visual Basic プロジェクトで新しいマーカー プロバイダーを使用するには
MarkerWriter オブジェクトを作成します。 コンストラクターは GUID を受け取ります。
プロバイダーを登録するには、コンカレンシー ビジュアライザーの [詳細設定] ダイアログ ボックスを開きます。 [マーカー] タブを選択してから、[新しいプロバイダーを追加します] ボタンを選択します。 [詳細設定] ダイアログ ボックスで、プロバイダーの作成に使用された GUID と、プロバイダーの説明を入力します。
C# または C プロジェクトで新しいマーカー プロバイダーを使用するには
CvInitProvider
関数を使用して、PCV_PROVIDER を初期化します。 コンストラクターは GUID* と PCV_PROVIDER* を受け取ります。プロバイダーを登録するには、[詳細設定] ダイアログ ボックスを開きます。 [マーカー] タブを選択してから、[新しいプロバイダーを追加します] ボタンを選択します。 ダイアログ ボックスに、プロバイダーの作成に使用された GUID と、プロバイダーの説明を入力します。
C# または Visual Basic プロジェクトでマーカー シリーズを使用するには
新しい MarkerSeries を使うには、最初に MarkerWriter オブジェクトを使って作成した後、新しいシリーズから直接マーカー イベントを生成します。
C++ プロジェクトでマーカー シリーズを使用するには
marker_series
オブジェクトを作成します。 この新しいシリーズからイベントを生成することができます。marker_series series; series.write_flag(_T("Hello world!"));
C プロジェクトでマーカー シリーズを使用するには
CvCreateMarkerSeries
関数を使用して、PCV_MARKERSERIES を作成します。PCV_MARKERSERIES series; CvCreatemarkerSeries(myProvider, _T("My Series"), &series); CvWriteFlag(series, _T("Writing a flag"));
関連項目
Title | 説明 |
---|---|
C++ ライブラリ リファレンス | C++ のコンカレンシー ビジュアライザー API について説明します。 |
C ライブラリ リファレンス | C のコンカレンシー ビジュアライザー API について説明します。 |
インストルメンテーション | マネージド コードのコンカレンシー ビジュアライザー API について説明します。 |
コンカレンシー ビジュアライザー | コンカレンシー メソッドを使用して生成され、スレッド実行データを含む、プロファイリング データ ファイルのビューとレポートに関するリファレンス情報。 |