方法: 同時実行ビジュアライザー マーカー SDK を使用するHow To: Use the Concurrency Visualizer Markers SDK

このトピックでは、同時実行ビジュアライザー SDK を使用してスパンを作成し、フラグ、メッセージ、警告を記述する方法について説明します。This topic shows how to use the Concurrency Visualizer SDK to create spans and write flags, messages, and alerts.

C++ を使用するにはTo use C++

  1. アプリケーションに同時実行ビジュアライザー SDK サポートを追加します。Add Concurrency Visualizer SDK support to your application. 詳細については、「同時実行ビジュアライザー SDK」を参照してください。For more information, see Concurrency Visualizer SDK.

  2. SDK 用の include ステートメントと using ステートメントを追加します。Add an include statement and a using statement for the SDK.

    
    #include <cvmarkersobj.h>  
    using namespace Concurrency::diagnostic;  
    
  3. 既定のマーカー系列に 3 つのスパンを作成して各スパンにフラグ、メッセージ、警告を 1 つずつ記述するためのコードを追加します。Add code to create three spans in the default marker series and write a flag, a message, and an alert, one to each span. フラグ、メッセージ、警告を記述するメソッドは、marker_series クラスのメンバーです。The methods to write flags, messages, and alerts are members of the marker_series class. 各スパンが特定のマーカー系列に関連付けられるようにするため、span クラスのコンストラクターに marker_series オブジェクトが必要です。The constructor for the span class requires a marker_series object, so that each span is associated with a specific marker series. span は削除されると同時に終了します。A span ends when it is deleted.

    
    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. メニュー バーで、[分析][同時実行ビジュアライザー][現在のプロジェクトで開始] の順に選択して、アプリを実行し、同時実行ビジュアライザーを表示します。On the menu bar, choose Analyze, Concurrency Visualizer, Start with Current Project to run the app and display the Concurrency Visualizer. 次の図は、同時実行ビジュアライザーに表示されている 3 つのスパンと 3 つのマーカーを示します。The following illustration shows the three spans and three markers in the Concurrency Visualizer.

    3 つのマーカーと警告がある同時実行ビジュアライザーConcurrency Visualizer with 3 markers and alerts

  5. マーカー系列の文字列名を指定した marker_series のコンストラクターを呼び出して追加のカスタム マーカー系列を作成するコードを追加します。Add code to create additional, custom marker series by calling the constructor for marker_series that takes a string name for the 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. 現在のプロジェクトを開始して、同時実行ビジュアライザーを表示します。Start the current project to display the Concurrency Visualizer. 2 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。The two marker series appear in their own lanes in Threads View. 次の図は、2 つの新しいスパンを示しています。The following illustration shows the two new spans.

    3 つのカスタム マーカー系列がある同時実行ビジュアライザーConcurrency Visualizer with 3 custom marker series

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

  1. アプリケーションに同時実行ビジュアライザー SDK サポートを追加します。Add Concurrency Visualizer SDK support to your application. 詳細については、「同時実行ビジュアライザー SDK」を参照してください。For more information, see Concurrency Visualizer SDK.

  2. SDK 用の using または Imports ステートメントを追加します。Add a using or Imports statement for the SDK.

    Imports Microsoft.ConcurrencyVisualizer.Instrumentation  
    
    using Microsoft.ConcurrencyVisualizer.Instrumentation;  
    
  3. 既定のマーカー系列に 3 つのスパンを作成して各スパンにフラグ、メッセージ、警告を 1 つずつ記述するためのコードを追加します。Add code to create three spans on the default marker series and write a flag, a message, and an alert, one to each span. Span オブジェクトを作成するには、EnterSpan メソッドを呼び出します。You create a Span object by calling the static EnterSpan method. 既定の系列に書き込むには、Markers クラスの静的な write メソッドを使用します。To write to the default series, you use the static write methods of the Markers class.

    
    Dim flagSpan As Span = Markers.EnterSpan("flag span")  
    Markers.WriteFlag("Here is the flag.")  
    flagSpan.Leave()  
    
    Dim messageSpan As Span = 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()  
    
    Dim alertSpan As Span = 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()  
    
    
    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. メニュー バーで、[分析][同時実行ビジュアライザー][現在のプロジェクトで開始] の順に選択して、アプリを実行し、同時実行ビジュアライザーを表示します。On the menu bar, choose Analyze, Concurrency Visualizer, Start with Current Project to run the app and display the Concurrency Visualizer. 次の図は、同時実行ビジュアライザーのスレッド ビューに表示されている 3 つのスパンと 3 つのマーカーを示します。The following illustration shows the three spans and three markers in the Threads View of the Concurrency Visualizer.

    マーカーと警告がある同時実行ビジュアライザーConcurrency Visualizer with markers and alerts

  5. 静的な CreateMarkerSeries メソッドを使用して、顧客マーカー シリーズを作成するコードを追加します。Add code to create customer marker series by using the static CreateMarkerSeries method. MarkerSeries クラスには、範囲を作成して、フラグ、メッセージ、およびアラートを書き込むためのメソッドが含まれています。The MarkerSeries class contains methods for creating spans and writing flags, messages, and alerts.

    
    Dim flagSeries As MarkerSeries = Markers.DefaultWriter.CreateMarkerSeries("flag series")  
    Dim flagSeriesSpan As Span = flagSeries.EnterSpan("flag span")  
    System.Threading.Thread.Sleep(1)  
    flagSeries.WriteFlag(1, "flag")  
    System.Threading.Thread.Sleep(1)  
    flagSeriesSpan.Leave()  
    
    Dim messageSeries As MarkerSeries = Markers.DefaultWriter.CreateMarkerSeries("message series")  
    Dim messageSeriesSpan As Span = messageSeries.EnterSpan("message span")  
    messageSeries.WriteMessage("message")  
    System.Threading.Thread.Sleep(1)  
    messageSeriesSpan.Leave()  
    
    
    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. 現在のプロジェクトを開始して、同時実行ビジュアライザーを表示します。Start the current project to display the Concurrency Visualizer. 3 つのマーカー系列がスレッド ビューのそれぞれ独自のレーンに表示されます。The three marker series appear in their own lanes in the Threads View. 次の図は、3 つの新しいスパンを示しています。The following illustration shows the three new spans.

    3 つのカスタム マーカー系列がある同時実行ビジュアライザーConcurrency Visualizer with 3 custom marker series

参照See Also

同時実行ビジュアライザー SDKConcurrency Visualizer SDK