Visualizar eventos EventSource como marcadores
El visualizador de simultaneidad puede mostrar eventos EventSource como marcadores, y puede controlar cómo se muestran los marcadores. Para ver los marcadores de EventSource, registre el GUID del proveedor de ETW mediante el cuadro de diálogo Configuración avanzada. El visualizador de simultaneidad tiene convenciones predeterminadas para representar eventos de EventSource como marcadores de marca, marcadores de intervalo y marcadores de mensaje. Puede personalizar cómo se muestran los eventos EventSource agregando campos personalizados a los eventos. Para obtener más información sobre los marcadores, consulte Marcadores del visualizador de simultaneidad. Para obtener más información sobre eventos EventSource, consulte System.Diagnostics.Tracing.
Visualización predeterminada de eventos EventSource
De forma predeterminada, el visualizador de simultaneidad usa las siguientes convenciones para representar eventos EventSource.
Tipo de marcador
Los eventos que tienen un Opcode win:Start orwin:Stop se tratan como el principio o el final de un intervalo, respectivamente. Los intervalos anidados o superpuestos no se pueden mostrar. Los pares de eventos que comienzan en un subproceso y acaban en otro no se pueden mostrar.
Un evento cuyo código de operación no es win:Start ni win:Stop se trata como una marca de marcador a menos que su Level (campo de EVENT_RECORD.EVENT_HEADER.EVENT_DESCRIPTOR) sea win:Verbose o superior.
En los demás casos, el evento se trata como un mensaje.
importancia
La siguiente tabla define cómo se asigna el nivel de evento a la importancia de marcador.
Nivel ETW | Importancia del visualizador de simultaneidad |
---|---|
win:LogAlways | Normal |
win:Critical | Crítico |
win:Error | Crítico |
win:Warning | Alto |
win:Informational | Normal |
win:Verbose | Bajo |
Mayor que win:verbose | Bajo |
Nombre de la serie
El nombre de la tarea del evento se usa para el nombre de la serie. El nombre de la serie está vacío si no se definió ninguna tarea para el evento.
Category
Si el Level es win:Critical o win:Error, la categoría es Alert (-1). De lo contrario, la categoría es el valor predeterminado (0).
Texto
Si se definió para el evento un mensaje de texto con formato de tipo printf, se muestra como la descripción del marcador. De lo contrario, la descripción es el nombre del evento y el valor de cada campo de carga.
Personalizar la visualización de eventos EventSource
Puede personalizar cómo se muestran los eventos EventSource agregando los campos correspondientes al evento, tal como se describe en las siguientes secciones.
Tipo de marcador
Utilice el campo cvType
, un byte, para controlar el tipo de marcador que se usa para representar el evento. Estos son los valores disponibles para cvType:
Valor cvType | Tipo de marcador resultante |
---|---|
0 | Message |
1 | Inicio de intervalo |
2 | Final de intervalo |
3 | Marcar |
Todos los demás valores | Message |
importancia
Puede usar el campo cvImportance
, un byte, para controlar la configuración de la importancia de un evento EventSource. Sin embargo, se recomienda controlar la importancia mostrada de un evento mediante su Level.
Valor cvImportance | Importancia del visualizador de simultaneidad |
---|---|
0 | Normal |
1 | Crítico |
2 | Alto |
3 | Alto |
4 | Normal |
5 | Bajo |
Todos los demás valores | Bajo |
Nombre de la serie
Utilice el campo de evento cvSeries
, una cadena, para controlar el nombre de la serie que el visualizador de simultaneidad proporciona a un evento EventSource.
Category
Utilice el campo cvCategory
, un byte, para controlar la categoría que el visualizador de simultaneidad proporciona a un evento EventSource.
Texto
Utilice el campo cvTextW
, una cadena, para controlarla descripción que el visualizador de simultaneidad proporciona a un evento EventSource.
SpanID
Utilice el campo cvSpanId, un número entero, para hacer coincidir los pares de eventos. El valor para cada par de eventos de inicio y detención que representan un intervalo debe ser único. Normalmente, para código simultáneo esto requiere el uso de primitivos de sincronización, como Exchange, para garantizar que la clave (el valor que se usa para CvSpanID) es correcta.
Nota
Para usar SpanID para anidar intervalos, permita que se superpongan en el mismo subproceso o no permita que se inicien en un subproceso terminen en otro.
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de