Compartilhar via


Ferramenta Visualizador de Rastreamento de Serviço (SvcTraceViewer.exe)

A Ferramenta de Exibição de Rastreamento de Serviço do WCF (Windows Communication Foundation) ajuda a analisar rastreamentos de diagnóstico gerados pelo WCF. O Visualizador de Rastreamento de Serviço oferece um modo fácil de mesclar, exibir e filtrar mensagens de rastreamento no log, para que você possa diagnosticar, reparar e verificar problemas de serviço do WCF.

Configurando o rastreamento

Os rastreamentos de diagnóstico fornecem informações que mostram o que está acontecendo em toda a operação do seu aplicativo. Como o nome indica, você pode seguir as operações da origem ao destino, passando pelos pontos intermediários.

É possível configurar o rastreamento usando o arquivo de configuração do aplicativo – o Web.config, para aplicativos hospedados na Web, ou o Appname.config para aplicativos auto-hospedados. A seguir, é mostrado um exemplo:

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
            <source name="System.ServiceModel"
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="sdt"
                   type="System.Diagnostics.XmlWriterTraceListener"
                   initializeData= "SdrConfigExample.e2e" />
            </listeners>
         </source>
    </sources>
</system.diagnostics>

Nesse exemplo, o nome e o tipo do ouvinte de rastreamento são especificados. O ouvinte se chama sdt, e o ouvinte de rastreamento do .NET Framework padrão (System.Diagnostics.XmlWriterTraceListener) é adicionado como o tipo. O atributo initializeData é usado para definir o nome do arquivo de log desse ouvinte como SdrConfigExample.e2e. Para o arquivo de log, você pode substituir um nome de arquivo simples por um caminho totalmente qualificado.

O exemplo cria um arquivo no diretório raiz chamado SdrConfigExample.e2e. Ao usar o Visualizador de Rastreamento para abrir o arquivo conforme é descrito na seção "Abrindo e exibindo arquivos de rastreamento do WCF", você pode ver todas as mensagens que foram enviadas.

O nível de rastreamento é controlado pela configuração switchValue. Os níveis de rastreamento disponíveis são descritos na tabela a seguir.

Nível de rastreamento: Descrição
Crítico – Registra em log entradas Fail-Fast e do Log de Eventos, além de informações de correlação do rastreamento. A seguir estão alguns exemplos de quando você poderá usar o nível Crítico:
– O AppDomain foi desativado devido a uma exceção sem tratamento.
– Seu aplicativo não inicia.
– A mensagem que causou a falha foi originada no processo MyApp.exe.
Erro – Registra em log todas as exceções. Você pode usar o nível Erro nas seguintes situações:
– Seu código falhou devido a uma Exceção de Conversão Inválida.
– A exceção "falha ao criar ponto de extremidade" está causando a falha do seu aplicativo na inicialização.
Aviso – Existe uma condição que poderá resultar em um erro ou uma falha crítica. Você pode usar este nível nas seguintes situações:
– O aplicativo está recebendo mais solicitações do que suas configurações de limitação permitem.
– A fila de recebimento está com 98% de sua capacidade configurada.
Informações – São geradas Mensagens úteis para monitorar e diagnosticar o status do sistema, medir o desempenho ou criar perfis. É possível utilizar essas informações para o planejamento de capacidade e o gerenciamento de desempenho. Você pode usar este nível nas seguintes situações:
– Ocorreu uma falha depois que a mensagem chegou ao AppDomain e foi desserializada.
– Ocorreu uma falha enquanto a associação HTTP estava sendo criada.
Detalhado – Rastreamento em nível de depuração de código de usuário e serviços. Defina este nível quando:
– Você não tem certeza de qual método em seu código foi chamado quando a falha ocorreu.
– Você tem um ponto de extremidade incorreto configurado e o serviço não foi iniciado porque a entrada no repositório de reserva está bloqueada.
ActivityTracing Eventos de fluxo entre atividades de processamento e componentes.

Este nível permite que os administradores e desenvolvedores correlacionem aplicativos no mesmo domínio de aplicativos.

– Rastreamentos de limites de atividades: início/interrupção.
– Rastreamentos de transferências.

Você pode usar add para especificar o nome e o tipo do ouvinte de rastreamento que deseja usar. Na configuração de exemplo, o ouvinte é chamado de sdt e o ouvinte de rastreamento do .NET Framework padrão (System.Diagnostics.XmlWriterTraceListener) é adicionado como o tipo. Use initializeData para definir o nome do arquivo de log para esse ouvinte. Além disso, é possível substituir um nome de arquivo simples por um caminho totalmente qualificado.

A partir do .NET Framework 4.8, os controles de ComboBox em alguns temas de alto contraste são exibidos na cor correta. Você pode desabilitar essa alteração removendo a configuração a seguir do arquivo svcTraceViewer.exe.config:

<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false" />

Usando a ferramenta Visualizador de Rastreamento de Serviço

Abrindo e exibindo arquivos de rastreamento do WCF

O Visualizador de Rastreamento de Serviço oferece suporte a três tipos de arquivos:

  • Arquivo de rastreamento do WCF (.svcLog)

  • Arquivo de rastreamento de eventos (.etl)

  • Arquivo de rastreamento Crimson

O Visualizador de Rastreamento de Serviço permite que você abra qualquer arquivo de rastreamento com suporte, adicione e integre arquivos de rastreamento adicionais, ou abra e mescle um grupo de arquivos de rastreamento simultaneamente.

Para abrir um arquivo de rastreamento
  1. Inicie o Visualizador de Rastreamento de Serviço usando uma janela de comando para navegar até o local da instalação do WCF (c:\Arquivos de Programas\Microsoft SDKs\Windows\v6.0\Bin) e digite SvcTraceViewer.exe.

Observação

A ferramenta Visualizador de Rastreamento de Serviço pode se associar a dois tipos de arquivos: .svclog e .stvproj. Você pode usar dois parâmetros na linha de comando para registrar e cancelar o registro das extensões de arquivo.

/register: registra a associação de extensões de arquivo ".svclog" e ".stvproj" com SvcTraceViewer.exe

/unregister: cancela o registro da associação de extensões de arquivo ".svclog" e ".stvproj" com SvcTraceViewer.exe

  1. Quando o Visualizador de Rastreamento de Serviço for iniciado, clique em Arquivo e aponte para Abrir. Navegue até o local onde seus arquivos de rastreamento são armazenados.

  2. Clique duas vezes no arquivo de rastreamento que deseja abrir.

    Observação

    Pressione a tecla SHIFT enquanto clica em vários arquivos de rastreamento para selecioná-los e abri-los simultaneamente. O Visualizador de Rastreamento de Serviço mescla o conteúdo de todos os arquivos e apresenta uma exibição. Por exemplo, você pode abrir arquivos de rastreamento do cliente e do serviço. Isso é útil quando você tiver habilitado o log de mensagens e a propagação de atividade na configuração. Dessa forma, é possível examinar a troca de mensagens entre o cliente e o serviço. Você também pode arrastar vários arquivos para o visualizador ou usar a guia Projeto. Confira a seção Gerenciando projetos para obter mais detalhes.

  3. Para adicionar arquivos de rastreamento extras à coleção que é aberta, clique em Arquivo e aponte para Adicionar. Na janela que é aberta, navegue até o local dos arquivos de rastreamento e clique duas vezes no arquivo que deseja adicionar.

Cuidado

Não é recomendável carregar um arquivo de log de rastreamento maior que 200 MB. Se você tentar carregar um arquivo maior do que esse limite, o processo de carregamento poderá levar muito tempo, dependendo do recurso do computador. A ferramenta Visualizador de Rastreamento de Serviço talvez não responda por um longo tempo, ou poderá esgotar a memória do computador. Para evitar esse problema, é recomendável configurar um carregamento parcial. Para obter mais informações sobre como fazer isso, consulte a seção "Carregando arquivos de rastreamento grandes".

Rastreamento de eventos e rastreamento Crimson

O formato nativo do visualizador é o formato de rastreamento de atividade que o WCF emite. Os rastreamentos emitidos em um formato diferente devem ser convertidos antes que o visualizador os exiba. Atualmente, além do formato de rastreamento de atividade, o visualizador oferece suporte ao rastreamento de eventos e ao rastreamento crimson.

Quando você abre um arquivo que não contém rastreamentos de atividade, o visualizador tenta converter o arquivo. Você deve especificar o nome e o local do arquivo que conterá os dados de rastreamento convertidos. Uma vez que os dados tenham sido convertidos, o visualizador exibirá o conteúdo do novo arquivo.

Observação

A conversão requer espaço em disco para armazenar os dados de rastreamento convertidos. Verifique se você tem espaço suficiente em disco disponível para armazenar os dados antes de iniciar uma conversão. Caso contrário, a conversão falhará.

Gerenciando projetos

O visualizador oferece suporte a projetos para facilitar a exibição de vários arquivos de rastreamento. Por exemplo, se você tem um arquivo de rastreamento de cliente e um arquivo de rastreamento de serviço, pode adicioná-los a um projeto. Depois disso, cada vez que você abrir o projeto, todos os arquivos de rastreamento do projeto serão carregados simultaneamente.

Há duas maneiras de gerenciar projetos:

  • No menu Arquivo, você pode abrir, salvar e fechar projetos.

  • Na guia Projeto, você pode adicionar arquivos a um projeto.

Exibindo rastreamentos do WCF

O WCF emite rastreamentos usando o formato de rastreamento de atividade. No modelo de rastreamento de atividade, os rastreamentos individuais são agrupados em atividades de acordo com sua finalidade. O fluxo de controle lógico é transferido entre atividades. Por exemplo, durante o tempo de vida de um aplicativo, muitas "atividades de envio de mensagens" aparecem e desaparecem. Para saber mais sobre como exibir rastreamentos e atividades e também a interface do usuário do Visualizador de rastreamento de serviço, confira Usando o Visualizador de Rastreamento de Serviço para exibir rastreamentos correlacionados e solucionar problemas.

Alternando entre diferentes exibições

O Visualizador de Rastreamento de Serviço fornece as exibições a seguir. Elas são mostradas como guias no painel esquerdo do Visualizador, e também podem ser acessadas no menu Exibir.

  • Exibição de atividade

  • Exibição do Projeto

  • Exibição de mensagem

  • Exibição de gráfico

Exibição de atividade

Uma vez que os arquivos de rastreamento são abertos, você pode ver os rastreamentos agrupados em atividades e mostrados na exibição Atividade no painel esquerdo.

A exibição Atividade mostra nomes de atividades, o número de rastreamentos da atividade, o tempo de duração e os horários de início e de término.

Quando você clica em qualquer uma das atividades listadas, os rastreamentos dessa atividade são exibidos no painel de rastreamento à direita. É possível selecionar um rastreamento para exibir seus detalhes.

Você pode selecionar várias atividades pressionando a tecla Ctrl ou Shift e clicando nas atividades desejadas. O painel de rastreamento exibe todos os rastreamentos das atividades selecionadas.

Você pode clicar duas vezes em uma atividade para mostrá-la na exibição Grafo. Uma alternativa é selecionar uma atividade e alternar para a exibição Grafo.

Observação

A atividade "000000000000" é uma atividade especial que não pode ser mostrada na exibição Gráfico. Como todas as outras atividades estão vinculadas a ela, a exibição dessa atividade tem um sério impacto de desempenho.

Você pode clicar no título da coluna para classificar a lista de atividades. As atividades que contêm rastreamentos de avisos têm um plano de fundo amarelo, e aquelas que contêm rastreamentos de erros têm um plano de fundo vermelho.

Existem diferentes tipos de atividades, e cada tipo corresponde a um ícone no lado esquerdo de cada atividade. Você pode consultar a seção Entendendo os ícones de rastreamento para ver seus significados.

Exibição do Projeto

Esta exibição permite gerenciar arquivos de rastreamento no projeto atual. Consulte a seção Gerenciando projetos para obter mais detalhes.

Exibição de mensagem

Essa exibição permite que você exiba todos os rastreamentos de log de mensagens, incluindo ação, data/hora, processo, atividade e de/para, e navegue até os detalhes do rastreamento do log de mensagens associado. Você pode agrupar os rastreamentos de log de mensagem por limite de atividade, processo/thread ou enviar e receber para facilitar a navegação do fluxo de mensagens.

Exibição de gráfico

Essa exibição mostra os dados de rastreamento de determinada atividade na forma de gráfico. A forma de gráfico permite que você veja as etapas de execução de eventos e as inter-relações entre várias atividades à medida que os dados se movem entre elas.

Para alternar para a exibição Grafo, selecione uma atividade na exibição Atividade e clique na guia Atividade ou em um rastreamento do log de mensagens na exibição Mensagem. Se vários arquivos de rastreamento forem carregados e a atividade envolver rastreamentos de mais de um arquivo, todos os rastreamentos relevantes aparecerão na exibição de gráfico. Clicar duas vezes nas atividades e nos rastreamentos do log de mensagens também leva você à exibição Grafo.

Na exibição Grafo, cada coluna vertical representa uma atividade, e cada bloco na coluna representa um rastreamento. As atividades são agrupadas por processo (ou thread). As setas pequenas entre as atividades representam transferências. As setas grandes entre os processos representam troca de mensagens. A atividade na seleção está sempre em amarelo.

Selecionando rastreamentos no gráfico
  1. Clique em um bloco no gráfico.

  2. Use as teclas para cima e para baixo para selecionar seus rastreamentos vizinhos.

  3. Observe as informações de rastreamento no Painel de Rastreamento e no Painel de Detalhes.

Expandindo ou recolhendo transferências de atividades

É possível expandir transferências de atividades quando a atividade na seleção é transferida para outra atividade. O recurso permite que você siga as transferências.

Para expandir ou recolher transferências de atividades

  1. Localize o rastreamento de transferência com um sinal "+" à esquerda do ícone de transferência.

  2. Clique em "+" ou pressione Ctrl e "+" usando o teclado.

  3. A próxima atividade aparece no grafo.

  4. Um sinal "-" aparece à esquerda do ícone de transferência. Clique no sinal "-" ou pressione Ctrl e "-"para recolher a transferência de atividade.

Observação

Quando uma atividade contém várias transferências e você expande uma das transferências, as atividades que levam à nova atividade da atividade raiz são exibidas. Essas novas atividades aparecem no formulário recolhido. Se você quiser ver os detalhes dessas atividades, expanda-as verticalmente clicando no ícone de expansão no cabeçalho do gráfico.

Expandindo ou recolhendo atividades verticalmente

O visualizador oculta detalhes desnecessários no gráfico de atividades recolhendo atividades. Em uma atividade recolhida, os rastreamentos individuais não são exibidos. Somente o rastreamento de transferências é exibido. Se você quiser exibir todos os rastreamentos de uma atividade, expanda a atividade verticalmente clicando no símbolo de expansão da atividade no cabeçalho do gráfico.

Para expandir ou recolher atividades verticalmente

  1. Clique no ícone "+" no cabeçalho da atividade para expandi-la verticalmente.

  2. Observe que todos os rastreamentos são exibidos no gráfico.

  3. Clique no ícone "-" no cabeçalho da atividade para recolhê-la verticalmente.

  4. Observe que somente as transferências, os logs de mensagens e os rastreamentos de avisos e exceções são mostrados na atividade.

Opções

Você pode selecionar duas opções do menu Opção na exibição Grafo.

  • Mostrar Rastreamentos de Limite de Atividade, que, quando desmarcada, ignora os rastreamentos de limite de atividade no gráfico.

  • Mostrar Rastreamentos Detalhados que Não Sejam de Mensagens, que, quando desmarcada, ignora rastreamentos de nível de detalhe, exceto para rastreamentos de mensagens. Na maioria dos casos, os rastreamentos de nível de detalhe são menos importantes para análise. Essa opção é útil quando você não quer analisar rastreamentos de nível de detalhe e quer apenas se concentrar em rastreamentos mais importantes.

Modo de layout

O visualizador possui dois modos de layout: Processo e Thread. Essa configuração define a maior unidade de organização. O modo de layout padrão é Processo, o que significa que as atividades são agrupadas por processos no gráfico.

Lista de execução

Você pode selecionar o processo ou thread a ser exibido no gráfico nessa lista suspensa. Por exemplo, se você tiver arquivos de rastreamento de dois clientes (A e B) e um serviço abertos, e desejar exibir somente o serviço e o cliente A no gráfico, poderá desmarcar o cliente B na lista.

Exibindo detalhes de rastreamento

Para exibir detalhes de um rastreamento, selecione um rastreamento no painel Rastreamento. Os detalhes são exibidos no painel Detalhes.

Painel Rastreamento

O painel superior direito no Visualizador de Rastreamento de Serviço é o painel Rastreamento. Ele lista todos os rastreamentos na atividade selecionada com informações extras, por exemplo, o nível de rastreamento, a ID do thread e o nome do processo.

Você pode copiar o XML bruto do rastreamento na área de transferência clicando com o botão direito do mouse em um rastreamento e selecionando Copiar Rastreamento na Área de Transferência.

Painel de detalhes

O painel inferior esquerdo no Visualizador de Rastreamento de Serviço é o painel Detalhes. Ele fornece três guias para exibir detalhes do rastreamento.

A exibição Formatado mostra as informações de um modo mais organizado. Ela lista todos os elementos XML conhecidos em tabelas e árvores, facilitando a leitura e a compreensão das informações.

A exibição XML mostra o XML correspondente ao rastreamento selecionado. Ela oferece suporte a realce e sintaxe colorida. Quando você usa Localizar para pesquisar cadeias de caracteres, ela realça os resultados da pesquisa.

A exibição Mensagem exibe a parte do XML da mensagem em rastreamentos do log de mensagens. Ela fica invisível quando você seleciona um rastreamento que não seja de mensagem.

Filtrando rastreamentos do WCF

Para facilitar a análise de rastreamentos, você pode filtrá-los da seguinte maneira:

  • A barra de ferramentas de filtro fornece acesso a filtros predefinidos e personalizados. Ela pode ser habilitada pelo menu Exibir.

  • O filtro predefinido do visualizador pode ser usado para filtrar seletivamente partes dos rastreamentos do WCF. Por padrão, ele é definido para permitir a passagem de todos os rastreamentos de infraestrutura. As configurações desse filtro são definidas no submenu Opções de Filtro do menu Exibir.

  • Os filtros XPath personalizados oferecem aos usuários controle total sobre a filtragem. Eles podem ser definidos em Filtro Personalizado no menu Exibir.

Somente os rastreamentos que passam por todos os filtros são exibidos.

Usando a barra de ferramentas de filtro

A barra de ferramentas de filtro aparece na parte superior da ferramenta. Se ele não estiver presente, você poderá ativá-lo no menu Exibir. A barra possui três componentes:

  • Procurar: Procurar define o assunto a ser procurado na operação de filtro. Por exemplo, se você quiser localizar todos os rastreamentos que foram emitidos no contexto do processo X, defina esse campo como X e o campo Pesquisar Em como 'Nome do Processo'. Esse campo muda para um controle seletor DateTime quando um filtro baseado em hora é selecionado.

  • Pesquisar em: esse campo define o tipo de filtro a ser aplicado.

  • Nível: essa configuração define o nível de rastreamento mínimo permitido pelo filtro. Por exemplo, se o nível for definido como Erro e Acima, somente rastreamentos dos níveis Erro e Crítico serão exibidos. Esse filtro é combinado aos critérios especificados por Procurar e Pesquisar em.

O botão Filtrar Agora inicia a operação de filtro. Alguns filtros, principalmente quando são aplicados a um grande conjunto de dados, demoram para serem concluídos. Você pode cancelar a operação de filtro pressionando o botão Parar que aparece na barra de status no menu Operações.

O botão Limpar redefine filtros predefinidos e personalizados para permitir a passagem de todos os rastreamentos.

Opções de filtro

O visualizador pode automaticamente remover os rastreamentos do WCF da exibição. Ele pode remover seletivamente os rastreamentos emitidos por áreas específicas do WCF, por exemplo, remover os rastreamentos relacionados a transações da exibição.

As configurações desse filtro são definidas no submenu Opções de Filtro do menu Exibir.

Filtros personalizados

Se você estiver familiarizado com a linguagem XPath, poderá usá-la para criar filtros personalizados para pesquisar os dados de rastreamento de qualquer elemento XML do seu interesse. Os filtros são acessíveis por meio da barra de ferramentas de filtro.

Os filtros personalizados podem incluir parâmetros. Você também pode importar filtros personalizados preexistentes.

Criando um filtro personalizado

Os filtros podem ser criados de duas maneiras:

Criando um filtro personalizado usando o assistente de modelo

Você pode clicar em um rastreamento existente e criar um filtro baseado na estrutura do rastreamento. Este exemplo cria um filtro personalizado baseado em ID de thread.

  1. No painel de rastreamento na área de superior direita do visualizador, selecione um rastreamento que inclua o elemento pelo qual você deseja filtrar.

  2. Clique no botão Criar Filtro Personalizado localizado na parte superior do painel de rastreamento.

  3. Na caixa de diálogo que aparece, digite um nome para o filtro. Neste exemplo, insira Thread ID. Você também pode fornecer uma descrição do seu filtro.

  4. A exibição de árvore à esquerda exibe a estrutura do registro de rastreamento selecionado na etapa 1. Navegue até o elemento para o qual você deseja criar uma condição. Neste exemplo, navegue até o ThreadID a ser localizado no nó XPath: /E2ETraceEvent/System/Execution/@ThreadID. Clique duas vezes no atributo ThreadID na exibição de árvore. Isso cria uma expressão para o atributo no lado direito da caixa de diálogo.

  5. Altere o campo de parâmetro para a condição ThreadID de Nenhum para ‘{0}’. Esta etapa permite que o valor de ThreadID seja configurado quando o filtro é aplicado. (Consulte a seção Como aplicar um filtro.) Você pode definir até quatro parâmetros. As condições são combinadas com o operador OR.

  6. Clique em OK para criar o filtro.

Observação

Uma vez que um filtro tenha sido criado com o assistente de modelo, ele só poderá ser editado manualmente. Não é possível ativar o assistente para um filtro que foi criado anteriormente. Além disso, as condições de um filtro XPath criado no assistente de modelo são combinadas com o operador OR. Se você precisar de uma operação AND, poderá editar a expressão de filtro depois que ela for criada.

Criando um filtro personalizado manualmente

O menu Filtros Personalizados permite que você insira filtros XPath manualmente.

  1. No menu Exibir, clique no item de menu Filtros Personalizados.

  2. No diálogo que aparece, clique em Novo.

  3. No mínimo, especifique um nome de filtro e a expressão XPath.

  4. Clique em OK.

Aplicando um filtro personalizado

Uma vez que um filtro personalizado tenha sido criado, ele fica acessível na barra de ferramentas de filtro. Selecione o filtro que deseja aplicar no campo Pesquisar Em da barra de ferramentas de filtro. Para o exemplo anterior, selecione 'ID do Thread'.

  1. Especifique o valor que você está procurando no campo Localizar. Em nosso exemplo, digite a ID do thread que deseja pesquisar.

  2. Clique em Filtrar Agora e observe o resultado da operação.

Se seu filtro usa vários parâmetros, insira-os usando ';' como um separador no campo Localizar. Por exemplo, a cadeia de caracteres a seguir define 3 parâmetros: ‘1;findValue;text’. O visualizador aplica '1' ao parâmetro {0} do filtro. 'findValue' e 'Text' são aplicados a {1} e {2}, respectivamente.

Compartilhando filtros personalizados

Os filtros personalizados podem ser compartilhados entre sessões e usuários diferentes. Você pode exportar os filtros para um arquivo de definição e importar esse arquivo em outro local.

Para importar um filtro personalizado:

  1. No menu Exibir, clique em Filtros Personalizados.

  2. Na caixa de diálogo que é aberta, clique no botão Importar.

  3. Navegue até o arquivo de filtro personalizado (.stvcf), clique no arquivo e clique no botão Abrir.

Para exportar um filtro personalizado:

  1. No menu Exibir, clique em Filtros Personalizados.

  2. Na caixa de diálogo que é aberta, selecione o filtro que você deseja exportar.

  3. Clique no botão Exportar.

  4. Especifique o nome e o local do arquivo de definição de filtro personalizado (.stvcf), e clique no botão Salvar.

Observação

Esses filtros personalizados podem apenas ser importados e exportados pelo Visualizador de Rastreamento de Serviço. Eles não podem ser lidos por outras ferramentas.

Localizando dados

O visualizador oferece as seguintes maneiras de localizar dados:

  • A barra de ferramentas de localização fornece um acesso rápido às opções de localização mais comuns.

  • A caixa de diálogo de localização fornece mais opções de localização. Ela é acessível pelo menu Editar ou pelo atalho de teclado Ctrl + F.

A barra de ferramentas de localização aparece na parte superior do visualizador. Se ele não estiver presente, você poderá ativá-lo no menu Exibir. A barra possui dois componentes:

  • Localizar: permite que você insira a palavra-chave de pesquisa.

  • Examinar: permite que você insira o escopo da pesquisa. Você pode selecionar se deseja pesquisar em todas as atividades ou somente na atividade atual.

A caixa de diálogo de localização fornece duas opções adicionais:

  • Localizar destino:

    • A opção "Dados de log brutos" pesquisa a palavra-chave em todos os dados brutos.

    • As opções "Texto XML" e "Atributo XML" pesquisam somente em elementos XML.

    • A opção "Mensagem Registrada" pesquisa apenas a palavra-chave em mensagens.

  • Ignorar atividade raiz: a pesquisa ignora os rastreamentos na atividade "000000000000". Isso melhora o desempenho em grandes arquivos de rastreamento quando a atividade raiz tem milhares de rastreamentos, dos quais a maioria são transferências.

Como os rastreamentos são registrados passo a passo durante o runtime do aplicativo, a navegação em rastreamentos pode ajudá-lo a depurar seu aplicativo. O Visualizador de Rastreamento de Serviço fornece várias maneiras de navegar em rastreamentos.

Avançar ou retroceder

Se você considerar cada rastreamento como uma linha de código do programa, o avanço é muito semelhante à "Depuração parcial" no IDE (Ambiente de Desenvolvimento Integrado) do Visual Studio. A diferença é que você também pode retroceder nos rastreamentos. Avançar significa mover-se para o próximo rastreamento da atividade.

  • Avançar: use o menu Atividade ou pressione "F10". Você também pode usar a tecla de direção "para baixo" no painel de rastreamento.

  • Retroceder: use o menu Atividade ou pressione "F9". Você também pode usar a tecla de direção "para cima" no painel de rastreamento.

Observação

Isso pode levar você a uma atividade que ocorre em um processo diferente ou até em um computador diferente, pois as mensagens do WCF podem transportar IDs de atividade que abrangem computadores.

Seguir transferência

Os rastreamentos de transferência são rastreamentos especiais no arquivo de rastreamento. Uma atividade pode fazer a transferência para outra atividade por um rastreamento de transferência. Por exemplo, a "Atividade A" pode transferir para a "Atividade B". Nesse caso, há um rastreamento de transferência na "Atividade A" com o nome "Para: Atividade" e o ícone de transferência. Esse rastreamento de transferência é um link entre os dois rastreamentos. Na “Atividade B”, também pode haver um rastreamento de transferência no final da atividade a ser transferido de volta à “Atividade A”. Isso é semelhante às chamadas de função em programas: A chama B e, em seguida, B retorna.

"Seguir transferência" é semelhante à etapa "Depuração completa" em um depurador. Ele segue a transferência de A para B. Ele não tem nenhum efeito sobre outros rastreamentos.

Há duas maneiras de seguir uma transferência: pelo mouse ou pelo teclado:

  • Pelo mouse: clique duas vezes no rastreamento de transferência no painel de rastreamento.

  • Pelo teclado: selecione um rastreamento de transferência e use "Seguir Transferência" no menu Atividade, ou pressione "F11"

Observação

Em muitos casos, quando a atividade A é transferida para a atividade B, ela aguarda até que a atividade B seja revertida para a atividade A. Isso significa que a atividade A não tem nenhum rastreamento registrado durante o período em que a atividade B está rastreando ativamente. Entretanto, também é possível que a Atividade A não aguarde e continue a registrar rastreamentos. Também é possível que a atividade B não seja transferida de volta para a atividade A. Portanto, as transferências de atividade ainda são diferentes das chamadas de função nesse sentido. Você pode entender melhor as transferências de atividades na exibição Gráfico.

Passar para a próxima transferência ou a anterior

Ao analisar a atividade atual, ou as atividades selecionadas quando várias atividades são selecionadas, você talvez queira localizar as atividades para as quais ela transfere. "Passar para a próxima transferência" permite que você localize o próximo rastreamento de transferência na atividade. Uma vez que você localize o rastreamento de transferência, poderá usar "Seguir transferência" para passar para a próxima atividade.

  • Passar para a próxima transferência: use o menu Atividade ou pressione "Ctrl + F10".

  • Passar para a transferência anterior: use o menu Atividade ou pressione "Ctrl + F9".

Embora a navegação no painel de atividade e no painel de rastreamento seja semelhante à depuração, usar a exibição Grafo oferece uma experiência de navegação muito melhor. Confira a seção "Exibição de gráfico" para obter mais informações.

Carregando arquivos de rastreamento grandes

Os arquivos de rastreamento podem ser muito grandes. Por exemplo, se você ativar o rastreamento no nível "Detalhado", o arquivo de rastreamento resultante para a execução de alguns minutos poderá facilmente chegar a centenas de megabytes ou até mais, dependendo da velocidade de rede e do padrão de comunicação.

Quando você abre um arquivo de rastreamento muito grande no Visualizador de Rastreamento de Serviço, o desempenho do sistema pode ser afetado negativamente. A velocidade de carregamento e o tempo de resposta após o carregamento podem ficar lentos. A velocidade real às vezes difere, dependendo da configuração do seu hardware. Na maioria de PCs, carregar um arquivo de rastreamento com mais de 200 M tem um sério impacto no desempenho. Para arquivos de rastreamentos maiores com mais de 1G, a ferramenta pode usar toda a memória disponível, ou parar de responder por um longo período.

Para evitar que o carregamento e o tempo de resposta se tornem lentos na análise de arquivos de rastreamento grandes, o Visualizador de Rastreamento de Serviço oferece um recurso chamado "Carregamento Parcial", que carrega apenas uma pequena parte do rastreamento de cada vez. Por exemplo, você poderá ter um arquivo de rastreamento acima de 1 GB sendo executado por vários dias no servidor. Quando ocorrerem alguns erros e você quiser analisar o rastreamento, não precisará abrir o arquivo de rastreamento inteiro. Em vez disso, você poderá carregar os rastreamentos dentro de um determinado período de tempo em que o erro possa ter ocorrido. Como o escopo é menor, a ferramenta Visualizador de Rastreamento de Serviço pode carregar o arquivo mais rapidamente e você pode identificar os erros usando um conjunto de dados menor.

Habilitando o carregamento parcial

Você não precisa habilitar manualmente o carregamento parcial. Se o tamanho total do arquivo de rastreamento que você tenta carregar exceder 40 MB, o Visualizador de Rastreamento de Serviço automaticamente exibirá uma caixa de diálogo Carregamento Parcial, para que você selecione a parte que deseja carregar.

Observação

Como os rastreamentos podem não estar distribuídos de modo uniforme no intervalo de tempo, o período de tempo que você especificar na barra de ferramentas Carregamento Parcial talvez não seja proporcional ao tamanho do carregamento mostrado. O tamanho do carregamento real pode ser menor do que o Tamanho Estimado na caixa de diálogo de carregamento parcial.

Ajustando o carregamento parcial

Depois de ter carregado parcialmente o arquivo de rastreamento, você talvez queira modificar o conjunto de dados que está sendo carregado. É possível fazer isso ajustando a barra de ferramentas Carregamento Parcial na parte superior do visualizador.

  1. Mova a barra de ferramentas usando o mouse, ou insira os horários de Início e Término.

  2. Clique no botão Ajustar.

Entendendo os ícones de rastreamento

A seguir está uma lista de ícones que a ferramenta Visualizador de Rastreamento de Serviço usa na exibição Atividade, na exibição Grafo e no painel Rastreamento para representar itens diferentes.

Observação

Alguns rastreamentos que não sejam categorizados (por exemplo, "uma mensagem é fechada") não têm nenhum ícone.

Rastreamentos de atividades

ícone Descrição
Warning trace Rastreamento de aviso: um rastreamento que é emitido no nível de aviso.
Error trace Rastreamento de erro: um rastreamento que é emitido no nível de erro.
Activity Start trace: Rastreamento de início de atividade: um rastreamento que marca o início de uma atividade. Contém o nome da atividade. Como designer ou desenvolvedor de aplicativos, você deve definir um rastreamento de início de atividade por ID de atividade para cada processo ou thread.

Se a ID de atividade for propagada nas origens de rastreamento para a correlação de rastreamentos, você poderá consultar vários inícios para a mesma ID de atividade (um por origem de rastreamento). O rastreamento de início será emitido se ActivityTracing estiver habilitado para a origem de rastreamento.
Activity Stop trace Rastreamento de interrupção de atividade: um rastreamento que marca o fim de uma atividade. . Contém o nome da atividade. Como designer ou desenvolvedor de aplicativos, você deve definir um rastreamento de interrupção de atividade por ID de atividade para cada origem de rastreamento. Nenhum rastreamento de uma determinada origem aparece após a interrupção de atividade emitida por essa origem de rastreamento, exceto se a granularidade do tempo de rastreamento não for suficientemente pequena. Quando isso acontece, dois rastreamentos com o mesmo tempo, incluindo uma interrupção, podem ser intercalados quando exibidos. Se a ID de atividade for propagada nas origens de rastreamento para a correlação de rastreamentos, você poderá consultar várias interrupções para a mesma ID de atividade (uma por origem de rastreamento). O rastreamento de interrupção será emitido se ActivityTracing estiver habilitado para a origem de rastreamento.
Activity Suspend trace Rastreamento de suspensão de atividade: um rastreamento que marca o tempo em que uma atividade está em pausa. Nenhum rastreamento é emitido em uma atividade suspensa até que a atividade seja retomada. Uma atividade suspensa indica que nenhum processamento está ocorrendo nela no escopo da origem de rastreamento. Os rastreamentos de suspensão/retomada são úteis para a criação de perfil. O rastreamento de suspensão será emitido se ActivityTracing estiver habilitado para a origem de rastreamento.
Activity resume trace Rastreamento de retomada de atividade: um rastreamento que marca o tempo em que uma atividade é retomada após ter sido suspensa. Os rastreamentos podem ser emitidos novamente nessa atividade. Os rastreamentos de suspensão/retomada são úteis para a criação de perfil. O rastreamento de retomada será emitido se ActivityTracing estiver habilitado para a origem de rastreamento.
Transfer Transferência: um rastreamento que é emitido quando o fluxo de controle lógico é transferido de uma atividade para outra. A atividade de origem da transferência poderá continuar a executar o trabalho em paralelo à atividade de destino da transferência. O rastreamento de transferência será emitido se ActivityTracing estiver habilitado para a origem de rastreamento.
Transfer From Transferência de: um rastreamento que define uma transferência de outra atividade para a atividade atual.
Transfer To Transferência para: um rastreamento que define uma transferência de fluxo de controle lógico da atividade atual para outra atividade.

Rastreamentos do WCF

ícone Descrição
Message Log trace Rastreamento de log de mensagens: um rastreamento que é emitido quando uma mensagem do WCF é registrada em log pelo recurso de log de mensagens quando a origem de rastreamento System.ServiceModel.MessageLogging está habilitada. Clicar nesse rastreamento exibe a mensagem. Há quatro pontos de log configuráveis para uma mensagem: ServiceLevelSendRequest, TransportSend, TransportReceive e ServiceLevelReceiveRequest, o que também pode ser especificado pelo atributo messageSource no rastreamento de log de mensagens.
Message Received trace Rastreamento de mensagem recebida: um rastreamento que é emitido quando uma mensagem do WCF é recebida, caso a origem de rastreamento System.ServiceModel esteja habilitada no nível Informações ou Detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagens na exibição Gráfico da atividade.
Message Sent trace Rastreamento de mensagem enviada: um rastreamento que é emitido quando uma mensagem do WCF é enviada, caso a origem de rastreamento System.ServiceModel esteja habilitada no nível Informações ou Detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagens na exibição Gráfico da atividade.

Atividades

ícone Descrição
Activity Atividade: indica que a atividade atual é uma atividade genérica.
Root activity Atividade raiz: indica a atividade raiz de um processo.

Atividades do WCF

ícone Descrição
Environment activity Atividade de ambiente: uma atividade que cria, abre ou fecha um host ou cliente WCF. Os erros que tiverem ocorrido durante essas fases aparecerão nesta atividade.
Listen activity Atividade de escuta: uma atividade que registra em log os rastreamentos relacionados a um ouvinte. Dentro desta atividade, é possível exibir informações e solicitações de conexão do ouvinte.
Receive Bytes activity Atividade de recepção de bytes: uma atividade que agrupa todos os rastreamentos relacionados à recepção de bytes de entrada em uma conexão entre dois pontos de extremidade. Esta atividade é essencial na correlação com as atividades de transporte que propagam sua ID de atividade, como http.sys. Erros de conexão, como anulações, aparecerão nesta atividade.
Process Message activity Atividade de processamento de mensagem: uma atividade que agrupa rastreamentos que estão relacionados à criação de uma mensagem do WCF. Os erros devido a um envelope incorreto ou uma mensagem malformada aparecerão nesta atividade. Dentro desta atividade, podemos inspecionar cabeçalhos de mensagens para ver se uma ID de atividade foi propagada do chamador. Se isso acontecer, ao transferirmos para a atividade de processamento de ação (o próximo ícone), poderemos também atribuir a esta atividade a ID de atividade propagada para a correlação entre os rastreamentos do chamador e do receptor.
Message Log trace Atividade de processamento de ação: uma atividade que agrupa todos os rastreamentos relacionados a uma solicitação do WCF entre dois pontos de extremidade. Se propagateActivity estiver definido como true em ambos os pontos de extremidade na configuração, todos os rastreamentos de ambos os pontos de extremidade serão mesclados em uma única atividade para correlação direta. Tal atividade conterá erros devido ao processamento de segurança ou transporte, estendendo-se ao limite do código do usuário e à volta (se houver uma resposta).
Process Message activity Atividade de execução de código de usuário: uma atividade que agrupa rastreamentos de código de usuário para processar uma solicitação.

Solução de problemas

Se você não tiver permissão para gravar no Registro, receberá a mensagem de erro "O Visualizador de Rastreamento de Serviço da Microsoft não está registrado no sistema" ao usar o comando "svctraceviewer /register" para registrar a ferramenta. Se isso ocorrer, você deverá fazer logon usando uma conta que tenha acesso de gravação no Registro.

Além disso, a ferramenta Visualizador de Rastreamento de Serviço grava algumas configurações (por exemplo, filtros personalizado e opções de filtro) no arquivo SvcTraceViewer.exe.settings em sua pasta de assembly. Se você não tiver permissão de leitura para o arquivo, ainda poderá iniciar a ferramenta, mas não poderá carregar as configurações.

Se você receber a mensagem de erro “Erro desconhecido ao processar um ou mais rastreamentos” ao abrir o arquivo .etl, ela significa que o formato de arquivo .etl é inválido.

Se você abrir um log de rastreamento criado em um sistema operacional árabe, poderá observar que o filtro de tempo não funciona. Por exemplo, o ano 2005 corresponde ao ano 1427 no calendário árabe. Porém, o intervalo de tempo aceito pelo filtro da ferramenta Visualizador de Rastreamento de Serviço não oferece suporte a uma data anterior a 1752. Isso indica que você não pode selecionar uma data correta no filtro. Para resolver esse problema, é possível criar um filtro personalizado (Exibir/Filtros Personalizados) usando uma expressão XPath para incluir um intervalo de tempo específico.

Confira também