コンカレンシー ビジュアライザー マーカー SDK を使用する

このトピックでは、コンカレンシー ビジュアライザー SDK を使用してスパンを作成し、フラグ、メッセージ、警告を記述する方法について説明します。

C++ を使用するには

  1. アプリケーションにコンカレンシー ビジュアライザー SDK サポートを追加します。 詳細については、「コンカレンシー ビジュアライザー SDK」を参照してください。

  2. SDK 用の include ステートメントと using ステートメントを追加します。

    #include <cvmarkersobj.h>
    using namespace Concurrency::diagnostic;
    
  3. 既定のマーカー系列に 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;
    
  4. メニュー バーで、[分析][コンカレンシー ビジュアライザー][現在のプロジェクトで開始] の順に選択して、アプリを実行し、コンカレンシー ビジュアライザーを表示します。 次の図は、コンカレンシー ビジュアライザーに表示されている 3 つのスパンと 3 つのマーカーを示します。

    Concurrency Visualizer with 3 markers and alerts

  5. マーカー系列の文字列名を指定した 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;
    
  6. 現在のプロジェクトを開始して、コンカレンシー ビジュアライザーを表示します。 2 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。 次の図は、2 つの新しいスパンを示しています。

    Screenshot of the Threads view in the Concurrency Visualizer, showing a marker, flag, and message series, with a flag span and message span.

Visual Basic または C# を使用するには

  1. アプリケーションにコンカレンシー ビジュアライザー SDK サポートを追加します。 詳細については、「コンカレンシー ビジュアライザー SDK」を参照してください。

  2. SDK 用の using または Imports ステートメントを追加します。

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    
  3. 既定のマーカー系列に 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();
    
  4. メニュー バーで、[分析][コンカレンシー ビジュアライザー][現在のプロジェクトで開始] の順に選択して、アプリを実行し、コンカレンシー ビジュアライザーを表示します。 次の図は、コンカレンシー ビジュアライザーのスレッド ビューに表示されている 3 つのスパンと 3 つのマーカーを示します。

    Concurrency Visualizer with markers and alerts

  5. 静的な 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();
    
  6. 現在のプロジェクトを開始して、コンカレンシー ビジュアライザーを表示します。 3 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。 次の図は、3 つの新しいスパンを示しています。

    Screenshot of the Threads view in the Concurrency Visualizer, showing a marker, flag, and message series, with a message, alert, and flag span.