Visualizar eventos EventSource como marcadores
O Visualizador de simultaneidade pode exibir eventos EventSource como marcadores e você pode controlar como os marcadores são exibidos.Para exibir marcadores EventSource, registre o GUID do provedor ETW usando o Configurações avançadas caixa de diálogo.O Visualizador de simultaneidade tem convenções padrão para representar eventos EventSource como Marcadores de sinalizador, Marcadores de SPAN, e Marcadores de mensagem.Você pode personalizar como EventSource eventos são exibidos, adicionando campos personalizados a eventos.Para obter mais informações sobre marcadores, consulte Marcadores de Visualizador de simultaneidade.Para obter mais informações sobre eventos EventSource, consulte System.Diagnostics.Tracing.
Visualização padrão EventSource eventos
Por padrão, o Visualizador de simultaneidade usa as seguintes convenções para representar EventSource eventos.
Tipo de marcador
Eventos que têm Opcode win: Iniciar ou parar: win são tratados como o início ou fim de span, respectivamente.Aninhados ou sobrepostos abrange não podem ser exibido.Pares de eventos que começam em um thread e terminam em outro não podem ser exibidos.
Um evento cujo Opcode é win: Iniciar nem win: parar é tratado como um sinalizador de marcador, a menos que seu nível (campo de EVENT_RECORD.EVENT_HEADER.EVENT_DESCRIPTOR) é vitória: Verbose ou superior.
Em outros casos, o evento é tratado como uma mensagem.
Importância
A tabela a seguir define como o nível do evento mapeia para a importância do marcador.
Nível do ETW |
Importância do Visualizador de simultaneidade |
---|---|
Vitória: LogAlways |
Normal |
vitórias: crítica |
Essenciais |
Erro: Win |
Essenciais |
Aviso: Win |
Alto |
vitórias: informativo |
Normal |
vitórias: Verbose |
Baixo |
Maior vitória: verbose |
Baixo |
Nome da série
O nome da tarefa do evento é usado para o nome da série.Nome da série está vazia se nenhuma tarefa foi definida para o evento.
Category (Categoria)
Se o nível for win: crítica ou win: erro, em seguida, a categoria é o alerta (-1).Caso contrário, a categoria é o padrão (0).
Texto
Se uma mensagem de texto formatado printf tipo foi definida para o evento, ele será exibido como a descrição do marcador.Caso contrário, a descrição é o nome do evento e o valor de cada campo de carga.
Personalizando a visualização de eventos EventSource
Você pode personalizar como EventSource eventos são exibidos, adicionando os campos apropriados para o evento, conforme descrito nas seções a seguir.
Tipo de marcador
Use o cvType de campo, um byte, controlar o tipo de marcador é usado para representar o evento.Aqui estão os valores disponíveis para cvType:
valor de cvType |
Tipo de marcador resultante |
---|---|
0 |
Message (Mensagem) |
1 |
Iniciar span |
2 |
Intervalo final |
3 |
Sinalizador |
Todos os outros valores |
Message (Mensagem) |
Importância
Você pode usar o cvImportance de campo, um byte para controlar a configuração de importância para um evento EventSource.No entanto, recomendamos que você controle a importância exibida de um evento usando o seu nível.
valor de cvImportance |
Importância do Visualizador de simultaneidade |
---|---|
0 |
Normal |
1 |
Essenciais |
2 |
Alto |
3 |
Alto |
4 |
Normal |
5 |
Baixo |
Todos os outros valores |
Baixo |
Nome da série
Use o cvSeries campo do evento, uma seqüência de caracteres, o nome de série o visualisador de simultaneidade oferece a um evento EventSource do controle.
Category (Categoria)
Use o cvCategory de campo, um byte para controlar a categoria que o Visualizador de simultaneidade oferece a um evento EventSource.
Texto
Use o cvTextW de campo, uma seqüência de caracteres, para controlar a descrição que o Visualizador de simultaneidade oferece a um evento EventSource.
SpanID
Use o campo de cvSpanId, int, para corresponder aos pares de eventos.O valor para cada par de eventos iniciar/parar que representam uma extensão deve ser exclusivo.Normalmente código simultâneo, isso requer o uso de primitivos de sincronização, como Exchange para garantir que a chave (o valor é usado para CvSpanID) está correta.
Observação |
---|
O uso de SpanID para aninhar spans, permitir que eles parcialmente sobrepostas no mesmo thread ou permitir o start em um thread e final em outra não é suportado. |