コンカレンシー ビジュアライザー マーカー
コンカレンシー ビジュアライザーのマーカーはアプリ内のイベントを表すアイコンです。 通常、アプリはこれらのイベントを生成して、アプリケーションでのフェーズまたは出現回数を指定します。 アプリ、またはアプリで使用するライブラリとランタイムでイベントを生成することができます。
マーカーの種類
コンカレンシー ビジュアライザーでは、アプリケーション イベントを表す 3 種類のマーカー (フラグ、メッセージ、スパン) が使用されます。
アプリの特定の時点を示す場合は、フラグを使用します。 たとえば、変数値が特定のしきい値に達したことや、例外がスローされたことを表す場合はフラグを使用できます。
メッセージも一定の時点をマークしますが、ログ スタイルのトレースで使用できます。 たとえば、ログ ファイルにダンプされている場合、メッセージ呼び出しでラップできるため、コンカレンシー ビジュアライザーでトレースおよび表示することができます。 また、コンカレンシー ビジュアライザーを使用して、このデータを CSV ファイルにエクスポートすることもできます。
スパンは、いずれかのフェーズなど、アプリにおける時間間隔を表します。
スレッドへのマーカー リンケージ
マーカーを生成するスレッドにはそれぞれ別のタイムライン チャネルがあります。 マーカー イベントを生成するスレッドの ID は、マーカー チャネルの説明の横に表示されます。 マーカー チャネルの左側に表示される ID は、現在のプロセス内の別のスレッドの ID と一致します。
マーカーの重要度
マーカーでは、4 つの重要度レベル (低、通常、高、重大) のいずれかを設定できます。 重要度レベルに基づいて、マーカーのソースをフィルター処理することができます。 たとえば、重要度が通常または重大である特定のソースのみのマーカーを表示する場合、[詳細設定] ダイアログ ボックスでフィルターを構成することができます。 マーカーの重要度はそのヒント、および [マーカー レポート] に表示されます。
マーカーのカテゴリ
マーカーのカテゴリは、同じソースからのマーカー イベントのグループを示します。 コンカレンシー ビジュアライザーでは色を使用して、さまざまなカテゴリのフラグとスパンを区別します。 特定のイベント プロバイダーからのマーカー イベントをフィルター処理するために、カテゴリを使用するようにコンカレンシー ビジュアライザーを構成することができます。 フィルターを構成するには、[詳細設定] ダイアログ ボックスを使用します。
マーカーの既知のソース
ETW プロバイダーは、特定の制約に準拠している限り、マーカーを生成できます。 マーカーの追加のイベント ソースをリッスンするようにコンカレンシー ビジュアライザーを構成することができます。 既定では、以下のイベント ソースをリッスンします。
C++ AMP (C++ Accelerated Massive Parallelism)
[詳細設定] ダイアログ ボックスの [マーカー] タブを使用して、コンカレンシー ビジュアライザーでさまざまなソースからのマーカーを表示するかどうかを制御できます。また、重要度とカテゴリに基づいて、マーカーをフィルター処理することができます。
EventSource からのマーカー
コンカレンシー ビジュアライザーでは、EventSource イベントも表示できます。 詳細については、「マーカーとしての EventSource イベントの視覚化」を参照してください。
フラグ マーカー
フラグ マーカーは、ある時点にアプリで何かが発生したことを表します。 フラグは、多様なアプリケーション イベントを表現することができます。 たとえば、特定の作業項目がスケジュールされていた時間や、例外がスローされた時間をフラグで示すことができます。 タスク並列ライブラリなどのランタイムでフラグを生成することもできます。
フラグの重要度
フラグは重要度に応じて異なるサイズで表示されます。 他のマーカーと同様に、低、標準、高、致命的という重要度があります。 次の図は、重要度レベルごとのマーカーの外観です。
フラグのカテゴリ
フラグは、カテゴリに応じて 5 種類の色のいずれかで表示されます。 色が 6 種類以上ある場合、色は再利用されます。 色を選択することはできません。 他のマーカーと同様に、カテゴリには任意の整数を指定できます。 次の図は、最初の 5 つのカテゴリの色を示しています。
アラート
アラートは、例外などの致命的なアプリケーション イベントを表す赤色のフラグです。 アラートは次のように表示されます。
集約フラグ
コンカレンシー ビジュアライザーで、複数のフラグが相互に近接しすぎて、個別に描画できないことがあります。 このような場合、基になるフラグを示す灰色の集約フラグが表示されます。 それらのアイコンのいずれかにポインターを置くと、表現されている、基になるフラグの数がツールヒントに表示されます。 フラグを表示するには、ズームインします。 限界までズームインしてもなお集約フラグが表示される場合には、基になるフラグをマーカー レポートで確認できます。
集約フラグはさまざまなサイズで描画されます。 サイズは、集約の最も高い重要度フラグの重要度レベルによって変わります。 次の図は、集約フラグを重要度の昇順で示します。
メッセージ マーカー
メッセージ マーカーは、ログ出力を表します。 メッセージは、特定のスレッドによって特定の時間に発行される文字列です。 メッセージは、その他のツールで使用するためにテキスト ファイルにエクスポートできます。 メッセージ文字列を確認するには、コンカレンシー ビジュアライザーで、メッセージにポインターを置くことができます。 そして、マーカー レポートで、すべてのメッセージ マーカーを確認できます。 次の図は、メッセージ マーカーを示しています。
メッセージの集約マーカー
コンカレンシー ビジュアライザーで、複数のメッセージが相互に近接しすぎて、個別に描画できないことがあります。 そのような場合には、基になるメッセージを表すメッセージ集約マーカーが表示されます。 それらのアイコンのいずれかにポインターを置くと、表現されている、基になるメッセージの数がツールヒントに表示されます。 メッセージを表示するには、ズームインします。 限界までズームインしてもなお集約マーカーが表示される場合には、基になるメッセージをマーカー レポートで確認できます。
スパン マーカー
スパン マーカーは、アプリケーションの意味のあるフェーズを表します。 たとえば、スパンを使用して、特定の作業項目を処理する時間間隔を表すことができます。 その長さは、対応するアプリケーション フェーズの期間を表します。 この図は、コンカレンシー ビジュアライザーのスパンを示しています。
スパン カテゴリ
スパン マーカーは、カテゴリに応じて 5 種類の色のいずれかで表示されます。 色が 6 種類以上ある場合、色は繰り返し使用されます。 カテゴリには任意の整数を指定できます。 この図では、使用される 5 つの色を示します。
スパンの集約マーカー
コンカレンシー ビジュアライザーで、複数のスパン マーカーが相互に近接しすぎて、個別に描画できないことがあります。 そのような場合には、基になるスパンを表現する灰色のスパン集約マーカーが表示されます。 それらのアイコンのいずれかにポインターを置くと、表現されている、基になるスパンの数がツールヒントに表示されます。 スパンを表示するには、ズーム インします。 限界までズームインしてもなおスパン集約マーカーが表示される場合には、基になるスパン マーカーをマーカー レポートで確認できます。 次の図は、スパン集約マーカーを示しています。