コンカレンシー ビジュアライザー マーカー SDK を使用する
このトピックでは、コンカレンシー ビジュアライザー SDK を使用してスパンを作成し、フラグ、メッセージ、警告を記述する方法について説明します。
C++ を使用するには
アプリケーションにコンカレンシー ビジュアライザー SDK サポートを追加します。 詳細については、「コンカレンシー ビジュアライザー SDK」を参照してください。
SDK 用の
include
ステートメントとusing
ステートメントを追加します。#include <cvmarkersobj.h> using namespace Concurrency::diagnostic;
既定のマーカー系列に 3 つのスパンを作成して各スパンにフラグ、メッセージ、警告を 1 つずつ記述するためのコードを追加します。 フラグ、メッセージ、警告を記述するメソッドは、marker_series クラスのメンバーです。 各スパンが特定のマーカー系列に関連付けられるようにするため、span クラスのコンストラクターに
marker_series
オブジェクトが必要です。span
は削除されると同時に終了します。marker_series series; span *flagSpan = new span(series, 1, _T("flag span")); series.write_flag(_T("Here is the flag.")); delete flagSpan; span *messageSpan = new span(series, 2, _T("message span")); series.write_flag(_T("Here is the message.")); delete messageSpan; span *alertSpan = new span(series, 3, _T("alert span")); series.write_flag(_T("Here is the alert.")); delete alertSpan;
メニュー バーで、[分析]、[コンカレンシー ビジュアライザー]、[現在のプロジェクトで開始] の順に選択して、アプリを実行し、コンカレンシー ビジュアライザーを表示します。 次の図は、コンカレンシー ビジュアライザーに表示されている 3 つのスパンと 3 つのマーカーを示します。
マーカー系列の文字列名を指定した
marker_series
のコンストラクターを呼び出して追加のカスタム マーカー系列を作成するコードを追加します。marker_series flagSeries(_T("flag series")); span *flagSeriesSpan = new span(flagSeries, 1, _T("flag span")); flagSeries.write_flag(1, _T("flag")); // Sleep to even out the display in the Concurrency Visualizer. Sleep(50); delete flagSeriesSpan; marker_series messageSeries(_T("message series")); span *messageSeriesSpan = new span(messageSeries, 1, _T("message span")); messageSeries.write_message(1, _T("message")); // Sleep to even out the display in the Concurrency Visualizer. Sleep(50); delete messageSeriesSpan;
現在のプロジェクトを開始して、コンカレンシー ビジュアライザーを表示します。 2 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。 次の図は、2 つの新しいスパンを示しています。
Visual Basic または C# を使用するには
アプリケーションにコンカレンシー ビジュアライザー SDK サポートを追加します。 詳細については、「コンカレンシー ビジュアライザー SDK」を参照してください。
SDK 用の
using
またはImports
ステートメントを追加します。既定のマーカー系列に 3 つのスパンを作成して各スパンにフラグ、メッセージ、警告を 1 つずつ記述するためのコードを追加します。
EnterSpan
メソッドを呼び出して、Span オブジェクトを作成します。 既定の系列に書き込むには、Markers クラスの静的な write メソッドを使用します。Span flagSpan = Markers.EnterSpan("flag span"); Markers.WriteFlag("Here is the flag."); flagSpan.Leave(); Span messageSpan = Markers.EnterSpan("message span"); // Sleep for a millisecond to even out the display in the Concurrency Visualizer. System.Threading.Thread.Sleep(1); Markers.WriteMessage("Here is a message"); messageSpan.Leave(); Span alertSpan = Markers.EnterSpan("alert span"); // Sleep for a millisecond to even out the display in the Concurrency Visualizer. System.Threading.Thread.Sleep(1); Markers.WriteAlert("Here is an alert"); alertSpan.Leave();
メニュー バーで、[分析]、[コンカレンシー ビジュアライザー]、[現在のプロジェクトで開始] の順に選択して、アプリを実行し、コンカレンシー ビジュアライザーを表示します。 次の図は、コンカレンシー ビジュアライザーのスレッド ビューに表示されている 3 つのスパンと 3 つのマーカーを示します。
静的な CreateMarkerSeries メソッドを使用して、顧客マーカー シリーズを作成するコードを追加します。 MarkerSeries クラスには、範囲を作成して、フラグ、メッセージ、およびアラートを書き込むためのメソッドが含まれています。
MarkerSeries flagSeries = Markers.DefaultWriter.CreateMarkerSeries("flag series"); Span flagSeriesSpan = flagSeries.EnterSpan("flag span"); System.Threading.Thread.Sleep(1); flagSeries.WriteFlag(1, "flag"); System.Threading.Thread.Sleep(1); flagSeriesSpan.Leave(); MarkerSeries messageSeries = Markers.DefaultWriter.CreateMarkerSeries("message series"); Span messageSeriesSpan = messageSeries.EnterSpan("message span"); messageSeries.WriteMessage("message"); System.Threading.Thread.Sleep(1); messageSeriesSpan.Leave();
現在のプロジェクトを開始して、コンカレンシー ビジュアライザーを表示します。 3 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。 次の図は、3 つの新しいスパンを示しています。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示