Visualiser des événements EventSource en tant que marqueursVisualize EventSource events as markers

Le visualiseur concurrentiel peut afficher des événements EventSource comme marqueurs, dont vous pouvez contrôler le mode d’affichage.The Concurrency Visualizer can display EventSource events as markers, and you can control how the markers are displayed. Pour afficher les marqueurs EventSource, inscrivez le GUID du fournisseur ETW à l’aide de la boîte de dialogue Paramètres avancés.To view the EventSource markers, register the ETW provider GUID by using the Advanced Settings dialog box. Le visualiseur concurrentiel a des conventions par défaut pour représenter les événements EventSource comme marqueurs d’indicateurs, marqueurs d’intervalles et marqueurs de messages.The Concurrency Visualizer has default conventions to represent EventSource events as Flag Markers, Span Markers, and Message Markers. Vous pouvez personnaliser l’affichage des événements EventSource en ajoutant des champs personnalisés aux événements.You can customize how EventSource events are displayed by adding custom fields to the events. Pour plus d’informations sur les marqueurs, consultez Marqueurs du visualiseur concurrentiel.For more information about markers, see Concurrency Visualizer Markers. Pour plus d’informations sur les événements EventSource, consultez System.Diagnostics.Tracing.For more information about EventSource events, see System.Diagnostics.Tracing.

Visualisation par défaut des événements EventSourceDefault visualization of EventSource events

Par défaut, le visualiseur concurrentiel utilise les conventions suivantes pour représenter les événements EventSource.By default, the Concurrency Visualizer uses the following conventions to represent EventSource events.

Type de marqueurMarker type

  1. Les événements ayant l’Opcode win:Start ou win:Stop sont traités en tant que début ou fin d’un intervalle, respectivement.Events that have Opcode win:Start or win:Stop are treated as the beginning or end of a span, respectively. Les intervalles imbriqués ou se chevauchant ne peuvent pas être affichés.Nested or overlapping spans cannot be displayed. Les paires d’événements qui commencent sur un thread et se terminent sur un autre ne peuvent pas être affichées.Event pairs that begin on one thread and end on another cannot be displayed.

  2. Un événement dont l’Opcode n’est ni win:Start ni win:Stop est traité en tant qu’indicateur de marqueur, sauf si son champ Level (EVENT_RECORD.EVENT_HEADER.EVENT_DESCRIPTOR) a pour valeur minimale win:Verbose.An event whose Opcode is neither win:Start nor win:Stop is treated as a marker flag unless its Level (field of EVENT_RECORD.EVENT_HEADER.EVENT_DESCRIPTOR) is win:Verbose or higher.

  3. Dans tous les autres cas, l’événement est traité en tant que message.In all other cases, the event is treated as a message.

ImportanceImportance

Le tableau suivant établit une correspondance entre le niveau d’événement et l’importance du marqueur.The following table defines how the event level maps to the marker importance.

Niveau ETWETW Level Importance dans le visualiseur concurrentielConcurrency Visualizer Importance
win:LogAlwayswin:LogAlways NormaleNormal
win:Criticalwin:Critical CritiqueCritical
win:Errorwin:Error CritiqueCritical
win:Warningwin:Warning HauteHigh
win:Informationalwin:Informational NormaleNormal
win:Verbosewin:Verbose FaibleLow
Supérieur à win:verboseGreater than win:verbose FaibleLow

Nom de la sérieSeries name

Le nom de la tâche de l’événement est utilisé pour le nom de la série.The task name of the event is used for the series name. Le nom de la série est vide si aucune tâche n’a été définie pour l’événement.Series name is empty if no task was defined for the event.

CategoryCategory

Si le niveau est win:Critical ou win:Error, la catégorie est Alerte (-1).If the Level is win:Critical or win:Error, then the category is Alert (-1). Sinon, la catégorie est la valeur par défaut (0).Otherwise, the category is the default (0).

TexteText

Si un message de texte de format de type printf a été défini pour l’événement, il est affiché en tant que description du marqueur.If a printf-type formatted text message was defined for the event, it is displayed as the description of the Marker. Sinon, la description est le nom de l’événement et la valeur de chaque champ de charge utile.Otherwise, the description is the name of the event and the value of each payload field.

Personnaliser la visualisation des événements EventSourceCustomize visualization of EventSource events

Vous pouvez personnaliser l’affichage des événements EventSource en ajoutant les champs appropriés à l’événement, comme décrit dans les sections suivantes.You can customize how EventSource events are displayed by adding the appropriate fields to the event, as described in the following sections.

Type de marqueurMarker type

Utilisez le champ cvType, un octet, pour contrôler le type de marqueur qui sert à représenter l’événement.Use the cvType field, a byte, to control the kind of marker that's used to represent the event. Voici les valeurs disponibles pour cvType :Here are the available values for cvType:

Valeur de cvTypecvType value Type de marqueur résultantResulting Marker Type
00 MessageMessage
11 Début de l’intervalleSpan Start
22 Fin de l’intervalleSpan End
33 IndicateurFlag
Toutes les autres erreursAll other values MessageMessage

ImportanceImportance

Vous pouvez utiliser le champ cvImportance, un octet, pour contrôler le paramètre d’importance d’un événement EventSource.You can use the cvImportance field, a byte, to control the importance setting for an EventSource event. Toutefois, nous vous recommandons de contrôler l’importance affichée d’un événement à l’aide de son niveau (Level).However, we recommend that you control the displayed importance of an event by using its Level.

Valeur de cvImportancecvImportance value Importance dans le visualiseur concurrentielConcurrency Visualizer Importance
00 NormaleNormal
11 CritiqueCritical
22 HauteHigh
33 HauteHigh
44 NormaleNormal
55 FaibleLow
Toutes les autres erreursAll other values FaibleLow

Nom de la sérieSeries name

Utilisez le champ d’événement cvSeries, une chaîne, pour contrôler le nom de série que le visualiseur concurrentiel donne à un événement EventSource.Use the cvSeries event field, a string, to control the series name that the Concurrency Visualizer gives to an EventSource event.

CategoryCategory

Utilisez le champ cvCategory, un octet, pour contrôler la catégorie que le visualiseur concurrentiel donne à un événement EventSource.Use the cvCategory field, a byte, to control the category that the Concurrency Visualizer gives to an EventSource event.

TexteText

Utilisez le champ cvTextW, une chaîne, pour contrôler la description que le visualiseur concurrentiel donne à un événement EventSource.Use the cvTextW field, a string, to control the description that the Concurrency Visualizer gives to an EventSource event.

ID d’intervalleSpanID

Utilisez le champ cvSpanId, un entier, pour faire correspondre des paires d’événements.Use the cvSpanId field, an int, to match pairs of events. La valeur de chaque paire d’événements de démarrage et d’arrêt qui représentent un intervalle doit être unique.The value for each pair of start/stop events that represent a span must be unique. En général, pour du code concurrent, vous devez utiliser des primitives de synchronisation comme Exchange pour que la clé (la valeur utilisée pour CvSpanID) soit correcte.Typically for concurrent code, this requires the use of synchronization primitives such as Exchange to ensure that the key (the value that's used for CvSpanID) is correct.

Note

L’utilisation de l’ID d’intervalle pour imbriquer des intervalles, permettre à des intervalles de se chevaucher partiellement sur le même thread ou permettre à des intervalles de démarrer sur un thread et de se terminer sur un autre n’est pas prise en charge.The use of SpanID to nest spans, allow them to partially overlap on the same thread, or allow them to start on one thread and end on another is not supported.

Voir aussiSee also

Marqueurs du visualiseur concurrentielConcurrency visualizer markers