Compartilhar via


Marcadores da Visualização Simultânea

Na Visualização Simultânea, os marcadores são ícones que representam os eventos em um aplicativo. Normalmente, o aplicativo gera esses eventos para designar fases ou ocorrências em um aplicativo. Os eventos podem ser gerados pelo aplicativo ou por bibliotecas e runtimes que o aplicativo usa.

Tipos de marcadores

A Visualização Simultânea usa três tipos de marcadores para representar eventos do aplicativo: sinalizadores, mensagens e intervalos.

  1. Use um sinalizador para indicar um ponto no tempo interessante em seu aplicativo. Por exemplo, é possível usar um sinalizador para representar que o valor de uma variável atingiu um certo limite ou que uma exceção foi lançada.

  2. Uma mensagem também marca um ponto no tempo, mas é possível usá-la para rastreamento de estilo do log. Por exemplo, o que pode ter sido despejado em um arquivo de log agora pode ser encapsulado em uma chamada de mensagem para poder rastreá-la e visualizá-la na Visualização Simultânea. Também é possível usar a Visualização Simultânea para exportar esses dados para um arquivo CSV.

  3. O intervalo representa um intervalo de tempo em seu aplicativo, por exemplo, uma das suas fases.

Vinculação de marcador para threads

Cada thread que gera marcadores tem um canal separado de linha do tempo. A ID do thread responsável por gerar os eventos de marcador é mostrada ao lado da descrição do canal do marcador. A ID mostrada no lado esquerdo do canal do marcador corresponde à ID de outro thread no processo atual.

Importância do marcador

Os marcadores podem ter um dos quatro níveis de importância: baixa, normal, alta e crítica. É possível filtrar as fontes de marcadores com base no nível de importância. Por exemplo, se você só desejar ver os marcadores de uma fonte específica que tem importância normal ou crítica, será possível configurar o filtro na caixa de diálogo Configurações avançadas. A importância de um marcador é exibida em sua dica de ferramenta e no Relatório de Marcadores.

Categoria de marcador

Uma categoria de marcador indica um grupo de eventos de marcador que vêm da mesma fonte. A Visualização Simultânea usa cor para diferenciar diferentes categorias de sinalizadores e intervalos. É possível configurar a Visualização Simultânea para usar categorias para filtrar os eventos de marcador em um provedor de eventos específico. Use a caixa de diálogo Configurações Avançadas para configurar o filtro.

Fontes conhecidas de marcadores

Qualquer provedor ETW pode gerar marcadores, desde que os provedores obedeçam a determinadas restrições. É possível configurar a Visualização Simultânea para escutar outras fontes de evento para marcadores. Por padrão, ele escuta estas fontes de evento:

Marcadores de EventSource

A Visualização Simultânea também pode exibir eventos EventSource. Para obter mais informações, confira Visualizar eventos EventSource como marcadores.

Marcadores de sinalizador

Um marcador de sinalizador representa algo que ocorreu em um instante de tempo em um aplicativo. Um sinalizador pode representar muitos tipos de eventos de aplicativo. Por exemplo, um sinalizador pode mostrar quando um determinado item de trabalho foi agendado ou quando uma exceção foi lançada. Runtimes, como a Biblioteca de Paralelismo de Tarefas, também podem gerar sinalizadores.

Importância do sinalizador

Sinalizadores são exibidos em tamanhos diferentes dependendo de sua importância. Como qualquer marcador, a importância pode ser baixa, normal, alta ou crítica. Esta ilustração mostra a aparência dos marcadores segundo seu nível de importância:

Illustration of Low, Normal, High, and Critical importance markers.

Categoria do sinalizador

Um sinalizador pode ser exibido em cinco cores diferentes, dependendo de sua categoria. As cores são reutilizadas se houver mais de cinco categorias. Não é possível escolher a cor. Como qualquer marcador, a categoria pode ser qualquer inteiro. A ilustração a seguir mostra as cores das cinco primeiras categorias.

Illustration of five colors of category markers.

Alertas

Um alerta é um sinalizador vermelho que representa um evento crítico do aplicativo, como uma exceção. Este é um alerta:

Illustration of the Concurrency Visualizer alert marker.

Sinalizadores de agregação

Às vezes, os sinalizadores ocorrem tão próximos uns dos outros na Visualização Simultânea que não podem ser desenhados individualmente. Quando isso ocorre, um sinalizador agregação cinza, que representa os sinalizadores subjacentes, é exibido. Quando você posiciona o ponteiro em desses ícones, uma dica de ferramenta exibe o número de sinalizadores subjacentes representados. Para exibir os sinalizadores, amplie. Se ampliar completamente e ainda obtiver um sinalizador de agregação, você pode exibir os sinalizadores subjacentes no Relatório de marcadores.

Sinalizadores de agregação são desenhados em tamanhos diferentes. O tamanho depende do nível de importância do sinalizador mais importante da agregação. A ilustração a seguir mostra sinalizadores de agregação em ordem crescente de importância.

Illustration of aggregate flags showing four levels of importance.

Marcadores de mensagem

Um marcador de mensagem representa a saída de log. Uma mensagem é uma cadeia de caracteres emitida por um thread específico em um momento específico. Você pode exportar as mensagens para um arquivo de texto para usar com outras ferramentas. Você pode deixar o ponteiro em uma mensagem na Visualização Simultânea para exibir a cadeia de caracteres de mensagem. E você pode exibir todos os marcadores de mensagem no Relatório de marcadores. A ilustração a seguir mostra um marcador de mensagem.

Marcadores de agregação de mensagem

Às vezes, ocorrem várias mensagens tão próximas entre si na Visualização Simultânea que elas não podem ser desenhadas individualmente. Quando isso ocorre, um marcador de agregação de mensagem que representa as mensagens subjacentes é mostrado. Quando você posiciona o ponteiro em desses ícones, uma dica de ferramenta exibe o número de mensagens subjacentes representadas. Para exibir as mensagens, amplie. Se ampliar completamente e ainda obtiver um sinalizador de agregação, você poderá exibir as mensagens subjacentes no Relatório de Marcadores.

Marcadores de período

Um marcador de período representa uma fase significativa de um aplicativo. Por exemplo, você pode usar um período para representar um intervalo de tempo durante o qual um item de trabalho específico está sendo processado. Seu comprimento representa a duração da fase de aplicativo correspondente. Esta ilustração mostra um período na Visualização Simultânea:

Illustration of a span marker in Concurrency Visualizer.

Categoria de período

Um marcador de período pode ser exibido em cinco cores diferentes, dependendo de sua categoria. As cores são repetidas se há mais de cinco categorias. A categoria pode ser qualquer inteiro. Esta ilustração mostra as cinco cores possíveis:

Illustration of five spans in different categories.

Marcadores de agregação de período

Às vezes, os marcadores de período ocorrem tão próximos uns dos outros na Visualização Simultânea que não podem ser desenhados individualmente. Quando isso ocorre, um marcador de agregação de período cinza que representa os períodos subjacentes é mostrado. Quando você posiciona o ponteiro em desses ícones, uma dica de ferramenta exibe o número de períodos subjacentes representados. Para exibir os períodos, amplie. Se você ampliar completamente e ainda obtiver um marcador de agregação de período, você poderá exibir os marcadores de período subjacentes no Relatório de Marcadores. Esta ilustração mostra um marcador de agregação de período:

Illustration of an aggregate span marker in Concurrency Visualizer.