コンカレンシー ビジュアライザー SDK を使用してソース コードをインストルメント化し、コンカレンシー ビジュアライザーに追加情報を表示できます。 コード内のフェーズとイベントに追加データを関連付けることができます。 これらの追加の視覚エフェクトはマーカーと呼 ばれます。 入門チュートリアルについては、「 コンカレンシー ビジュアライザー SDK の概要」を参照してください。
プロパティ
フラグ、スパン、およびメッセージにはそれぞれ、カテゴリと重要度という 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 プロジェクトでマーカー系列を使用するには
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 について説明します。 |
| コンカレンシー ビジュアライザー | コンカレンシー メソッドを使用して生成され、スレッド実行データを含むプロファイル データ ファイルのビューとレポートの参照情報。 |