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

A ferramenta Visualizador de Rastreamento de Serviço do Windows Communication Foundation (WCF) ajuda a analisar rastreamentos de diagnóstico gerados pelo WCF. O Service Trace Viewer fornece uma maneira de mesclar, exibir e filtrar facilmente mensagens de rastreamento no log para que você possa diagnosticar, reparar e verificar problemas de serviço WCF.

Configurando o rastreamento

Os rastreamentos de diagnóstico fornecem informações que mostram o que está acontecendo durante toda a operação do aplicativo. Como o nome indica, você pode acompanhar as operações desde a origem até o destino e através de pontos intermediários também.

Você pode configurar o rastreamento usando o arquivo de configuração do aplicativo — Web.config para aplicativos hospedados na Web ou Appname.config para aplicativos auto-hospedados. Veja o exemplo seguinte:

<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>

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

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

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

Nível de rastreio Description
Crítico - Registra entradas Fail-Fast e Event Log, e informações de correlação de rastreamento. A seguir estão alguns exemplos de quando você pode usar o nível crítico:
- Seu AppDomain caiu devido a uma exceção não tratada.
- O seu pedido não consegue iniciar.
- A mensagem que causou a falha originou-se do processo MyApp.exe.
Erro - Registra todas as exceções. Você pode usar o nível de erro nas seguintes situações:
- Seu código travou devido a uma exceção de transmissão inválida.
- Uma exceção de "falha ao criar endpoint" está fazendo com que seu aplicativo falhe na inicialização.
Aviso - Existe uma condição que pode posteriormente resultar num erro ou falha crítica. Você pode usar esse 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á em 98% de sua capacidade configurada.
Informação - Mensagens úteis para monitorar e diagnosticar o status do sistema, medir o desempenho ou criar perfis são geradas. Você pode utilizar essas informações para planejamento de capacidade e gerenciamento de desempenho. Você pode usar esse nível nas seguintes situações:
- Ocorreu uma falha depois que a mensagem chegou ao AppDomain e foi desserializada.
- Ocorreu uma falha durante a criação da ligação HTTP.
Verboso - Rastreamento de nível de depuração para código de usuário e manutenção. 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 falhou ao iniciar porque a entrada na loja de reservas está bloqueada.
ActivityTracing Eventos de fluxo entre atividades de processamento e componentes.

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

- Rastreamentos para limites de atividade: start/stop.
- Rastreios para 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 é nomeado sdt e o ouvinte de rastreamento padrão do .NET Framework (System.Diagnostics.XmlWriterTraceListener) é adicionado como o tipo. Use initializeData para definir o nome do arquivo de log para esse ouvinte. Além disso, você pode substituir um caminho totalmente qualificado por um nome de arquivo simples.

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

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

Usando a ferramenta Service Trace Viewer

Abrindo e exibindo arquivos de rastreamento WCF

O Service Trace Viewer suporta três tipos de ficheiro:

  • Arquivo de rastreamento WCF (.svcLog)

  • Arquivo de rastreamento de eventos (.etl)

  • Arquivo de rastreamento carmesim

O Service Trace Viewer permite abrir qualquer arquivo de rastreamento suportado, adicionar e integrar arquivos de rastreamento adicionais ou abrir e mesclar um grupo de arquivos de rastreamento simultaneamente.

Para abrir um arquivo de rastreamento
  1. Inicie o Service Trace Viewer usando uma janela de comando para navegar até o local de instalação do WCF (C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin) e digite SvcTraceViewer.exe.

Nota

A ferramenta Service Trace Viewer pode ser associada a dois tipos de arquivo: .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: Registre a associação das extensões de arquivo ".svclog" e ".stvproj" com SvcTraceViewer.exe

/unregister: cancele o registro da associação das 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 estão armazenados.

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

    Nota

    Pressione SHIFT enquanto clica em vários arquivos de rastreamento para selecioná-los e abri-los simultaneamente. O Service Trace Viewer 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ê habilitou o registro de mensagens e a propagação de atividades na configuração. Dessa forma, você pode 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 . Consulte a seção Gerenciando projeto para obter mais detalhes.

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

Atenção

Não é recomendável carregar um arquivo de log de rastreamento maior que 200 MB. Se você tentar carregar um arquivo maior que esse limite, o processo de carregamento pode levar muito tempo, dependendo do recurso do computador. A ferramenta Service Trace Viewer pode não responder por muito tempo ou pode esgotar a memória da sua máquina. É recomendável configurar o carregamento parcial para evitar isso. Para obter mais informações sobre como fazer isso, consulte a seção "Carregando arquivos de rastreamento grandes".

Rastreamento de eventos e rastreamento carmesim

O formato nativo do visualizador é o formato de rastreamento de atividades que o WCF emite. Os vestígios emitidos num formato diferente devem ser convertidos antes de serem apresentados pelo visualizador. Atualmente, além do formato de rastreamento de atividades, o visualizador suporta rastreamento de eventos e rastreamento carmesim.

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. Depois que os dados forem convertidos, o visualizador exibirá o conteúdo do novo arquivo.

Nota

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

Gestão de Projetos

O visualizador suporta projetos para facilitar a visualização de vários arquivos de rastreamento. Por exemplo, se você tiver um arquivo de rastreamento de cliente e um arquivo de rastreamento de serviço, poderá adicioná-los a um projeto. Em seguida, toda vez que você abre o projeto, todos os arquivos de rastreamento no projeto sã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 WCF

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

Mudar para vistas diferentes

O Visualizador de Rastreamento de Serviço fornece os seguintes modos de exibição diferentes. Eles são exibidos como guias no painel esquerdo do Visualizador e também podem ser acessados no menu Exibir .

  • Visualização da atividade

  • Visualização do Projeto

  • Visualização de Mensagem

  • Visualização de gráfico

Visualização da atividade

Depois que os arquivos de rastreamento são abertos, você pode ver os rastreamentos agrupados em atividades e exibidos na visualização Atividade no painel esquerdo.

A visualização Atividade exibe nomes de atividades, número de rastreamentos na atividade, tempo de duração, hora de início e hora de término.

Ao clicar em qualquer uma das atividades listadas, os rastreamentos nessa atividade são exibidos no painel de rastreamento à direita. Em seguida, você pode 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 exibi-la no Modo de Exibição de Gráfico . A maneira alternativa é selecionar uma atividade e alternar para a Visualização de gráfico .

Nota

A atividade "000000000000" é uma atividade especial que não pode ser exibida na Visualização do gráfico. Como todas as outras atividades estão ligadas a ele, exibir essa atividade tem um impacto severo no desempenho.

Você pode clicar no título da coluna para classificar a lista de atividades. As atividades que contêm rastreamentos de aviso têm um fundo amarelo e aquelas que contêm rastreamentos de erro têm um 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 Noções básicas sobre ícones de rastreamento para saber o seu significado.

Visualização do Projeto

Essa exibição permite que você gerencie arquivos de rastreamento no projeto atual. Consulte a seção Gerenciando projeto para obter mais detalhes.

Visualizaçã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 de log de mensagens associado. Você pode agrupar os rastreamentos de log de mensagens por Limite de Atividade, Processo/Thread ou Enviar & Receber para facilitar a navegação do fluxo de mensagens.

Visualização de gráfico

Esta vista apresenta os dados de rastreio de uma determinada atividade em forma de gráfico. O formulário de gráfico permite que você veja a execução passo a passo de eventos e as inter-relações entre várias atividades à medida que os dados se movem entre elas.

Para alternar para o modo Gráfico, selecione uma atividade no modo Atividade e clique na guia Atividade ou em um rastreamento de log de mensagens no Modo de Exibição de 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ê à visualização Gráfico .

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

Seleção de rastreamentos no gráfico
  1. Clique em um bloco no gráfico.

  2. Use as teclas para cima e para baixo para selecionar os traços vizinhos.

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

Expandindo ou colapsando transferências de atividades

Você pode expandir as transferências de atividade quando a atividade na seleção é transferida para outra atividade. Ele permite que você acompanhe as transferências.

Para expandir ou recolher transferências de atividade,

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

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

  3. A próxima atividade aparece no gráfico.

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

Nota

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

Expandindo ou colapsando 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. Apenas o rastreamento de transferências aparece. Se quiser exibir todos os rastreamentos em 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 traços são exibidos no gráfico.

  3. Clique no ícone "-" no cabeçalho da atividade para recolher a atividade verticalmente.

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

Opções

Você pode selecionar duas opções no menu Opção no modo de exibição Gráfico.

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

  • Mostrar rastreamentos detalhados não relacionados a mensagens, que, quando desmarcados, ignoram rastreamentos detalhados de nível, exceto rastreamentos de mensagens. Na maioria dos casos, os traços de nível detalhado são menos importantes para a análise. Essa opção é útil quando você não deseja analisar rastreamentos de nível detalhados e deseja se concentrar apenas em rastreamentos mais importantes.

Modo de layout

O visualizador tem dois modos de layout: processo e thread. Essa configuração define a maior unidade da 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 qual processo ou thread será exibido no gráfico nesta lista suspensa. Por exemplo, se você tiver os arquivos de rastreamento de dois clientes (A e B) e um serviço abertos, e quiser exibir apenas o serviço e o cliente A no gráfico, poderá desmarcar o cliente B da lista.

Visualizando detalhes de rastreamento

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

Painel de Rastreio

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

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

Painel de Detalhes

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

O modo de exibição Formatado exibe as informações de forma mais organizada. Ele lista todos os elementos XML conhecidos em tabelas e árvores, facilitando a leitura e a compreensão das informações.

A visualização XML exibe XML correspondente ao rastreamento selecionado. Ele suporta realce e cor da sintaxe. Quando você usa Localizar para pesquisar cadeias de caracteres, ele destaca os resultados da pesquisa.

O modo de exibição Mensagem exibe a parte da mensagem do XML em rastreamentos de log de mensagens. Ele é invisível quando você seleciona um rastreamento sem mensagem.

Filtrando rastreamentos WCF

Para facilitar a análise do rastreamento, você pode filtrá-los das seguintes maneiras:

  • A barra de ferramentas de filtros fornece acesso a filtros pré-definidos e personalizados. Pode ser ativado através do menu Ver .

  • O filtro predefinido do visualizador pode ser usado para filtrar seletivamente partes dos rastreamentos 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 no menu Exibir .

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

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

Usando a barra de ferramentas Filtro

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

  • Procurar: Procurar define o assunto a procurar na operação de filtro. Por exemplo, se pretender encontrar todos os vestígios que foram emitidos no contexto do processo X, defina este campo como X e o campo Pesquisar em como 'Nome do processo'. Este campo muda para um controle seletor DateTime quando um filtro baseado em hora é selecionado.

  • Pesquisar em: Este campo define o tipo de filtro a aplicar.

  • Nível: A configuração de nível define o nível mínimo de rastreamento permitido pelo filtro. Por exemplo, se o nível estiver definido como Erro e Acima, somente os rastreamentos no nível Erro e crítico serão exibidos. Este filtro combina com os critérios especificados por Procurar e Pesquisar em.

O botão Filtrar agora inicia a operação de filtro. Alguns filtros, especialmente quando são aplicados a um grande conjunto de dados, levam muito tempo 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 pré-definidos e personalizados para permitir a passagem de todos os rastreamentos.

Opções de Filtro

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

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

Filtros personalizados

Se você estiver familiarizado com a XPath (XML Path Language), poderá usá-la para construir filtros personalizados para pesquisar os dados de rastreamento para qualquer elemento XML de interesse. Os filtros são acessíveis através da barra de ferramentas de filtros.

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

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 com base na estrutura do rastreamento. Este exemplo cria um filtro personalizado com base na ID do thread.

  1. No painel de rastreamento na área superior direita do visualizador, selecione um rastreamento que inclua o elemento para o 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 apresentada, introduza um nome para o filtro. Neste exemplo, digite Thread ID. Também pode fornecer uma descrição do seu filtro.

  4. A visualização em á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 visualização em árvore. Isso cria uma expressão para o atributo à direita 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 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 usando o operador OR.

  6. Clique em Ok para criar o filtro.

Nota

Depois que um filtro for criado usando 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 usando o operador OR. Se você precisar de uma operação AND, poderá editar a expressão de filtro depois que ela tiver sido 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. Na caixa de diálogo exibida, clique em Novo.

  3. No mínimo, especifique um Nome do Filtro e uma expressão XPath.

  4. Clique em OK.

Aplicando um filtro personalizado

Uma vez que um filtro personalizado tenha sido criado, ele é acessível através da barra de ferramentas de filtro. Selecione o filtro que deseja aplicar no campo Pesquisar em da barra de ferramentas do filtro. Para o exemplo anterior, selecione 'ID do thread'.

  1. Especifique o valor que você está procurando no campo Localizar . No nosso exemplo, introduza o ID do segmento que pretende procurar.

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

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

Partilhar filtros personalizados

Os filtros personalizados podem ser partilhados entre diferentes sessões e diferentes utilizadores. 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 se abre, 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 se abre, selecione o filtro que 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 .

Nota

Esses filtros personalizados só podem ser importados e exportados do Service Trace Viewer. Eles não podem ser lidos por outras ferramentas.

Localizando dados

O visualizador fornece as seguintes maneiras de localizar dados:

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

  • A caixa de diálogo Localizar fornece mais opções de localização. É acessível através do menu Editar , ou pela tecla curta Ctrl + F.

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

  • Encontrar o quê: Permite inserir a palavra-chave de pesquisa.

  • Procurar: Permite inserir o escopo da pesquisa. Você pode selecionar se deseja pesquisar em todas as atividades ou apenas na atividade atual.

A caixa de diálogo localizar fornece duas opções adicionais:

  • Encontrar 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 apenas em elementos XML.

    • A opção "Mensagem registrada" pesquisa a palavra-chave apenas 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, a maioria dos quais são transferências.

Como os rastreamentos são registrados passo a passo durante o tempo de execução do aplicativo, navegar pelos rastreamentos pode ajudá-lo a depurar seu aplicativo. O Service Trace Viewer fornece várias maneiras de navegar em rastreamentos.

Passo para a frente ou para trás

Se você considerar cada rastreamento como uma linha de código no programa, avançar é muito semelhante a "Step over" no Visual Studio Integrated Development Environment (IDE). A diferença é que você também pode retroceder nos traços. Avançar significa passar para o próximo rastreamento na atividade.

  • Passo em frente: Use o menu Atividade ou pressione "F10". Você também pode usar a tecla de seta "para baixo" no painel de rastreamento.

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

Nota

Isso pode levá-lo a uma atividade que ocorre em um processo diferente ou até mesmo em um computador diferente, porque as mensagens WCF podem carregar IDs de atividade que abrangem máquinas.

Seguir transferência

Os rastreamentos de transferência são rastreamentos especiais no arquivo de rastreamento. Uma atividade pode ser transferida para outra atividade através de um rastreio de transferência. Por exemplo, a "Atividade A" pode ser transferida 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. Este traço de transferência é uma ligação entre os dois traços. Na "Atividade B", também pode haver um rastreamento de transferência no final da atividade para transferir de volta para a "Atividade A". Isso é semelhante às chamadas de função em programas: A chama B, depois B retorna.

"Follow transfer" é semelhante a "Step into" em um depurador. Segue-se a transferência de A para B. Não tem qualquer efeito sobre outros vestígios.

Existem duas formas de seguir uma transferência: pelo rato 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"

Nota

Em muitos casos, quando a Atividade A é transferida para a Atividade B, a Atividade A aguarda até que a Atividade B seja transferida de volta 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. No entanto, também é possível que a Atividade A não espere 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 no modo de exibição Gráfico.

Saltar para a transferência seguinte ou anterior

Quando você estiver analisando a atividade atual ou atividades selecionadas quando várias atividades forem selecionadas, convém encontrar rapidamente as atividades para as quais ela é transferida. "Saltar para a próxima transferência" permite-lhe localizar o próximo rastreio de transferência na atividade. Depois de encontrar o rastreamento de transferência, você pode usar "Seguir transferência" para entrar na próxima atividade.

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

  • Ir para Transferência Anterior: Use o menu Atividade ou pressione "Ctrl + F9".

Embora a navegação no painel de atividades e no painel de rastreamento seja semelhante à depuração, o uso do modo de exibição de gráfico oferece uma experiência de navegação muito melhor. Consulte a seção "Visualização do 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 "Verbose", o arquivo de rastreamento resultante para executar alguns minutos pode facilmente ser centenas de megabytes ou até maior, dependendo da velocidade da rede e do padrão de comunicação.

Quando você abre um arquivo de rastreamento muito grande no Service Trace Viewer, o desempenho do sistema pode ser afetado negativamente. A velocidade de carregamento e o tempo de resposta após o carregamento podem ser lentos. A velocidade real varia de tempos em tempos, dependendo da configuração do hardware. Na maioria dos PCs, carregar um arquivo de rastreamento maior que 200M tem um grave impacto no desempenho. Para arquivos de rastreamento maiores que 1G, a ferramenta pode usar toda a memória disponível ou parar de responder por muito tempo.

Para evitar o carregamento lento e o tempo de resposta na análise de arquivos de rastreamento grandes, o Service Trace Viewer fornece um recurso chamado "Carregamento parcial", que carrega apenas uma pequena parte do rastreamento de cada vez. Por exemplo, você pode ter um arquivo de rastreamento com mais de 1 GB, em execução por vários dias no servidor. Quando alguns erros ocorreram e você deseja analisar o rastreamento, não é necessário abrir o arquivo de rastreamento inteiro. Em vez disso, você pode carregar os rastreamentos dentro de um determinado período de tempo quando o erro pode 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 menor de dados.

Ativando o carregamento parcial

Não é necessário ativar manualmente o carregamento parcial. Se o tamanho total do(s) arquivo(s) de rastreamento que você tenta carregar exceder 40 MB, o Visualizador de Rastreamento de Serviço exibirá automaticamente uma caixa de diálogo Carregamento Parcial para que você selecione a parte que deseja carregar.

Nota

Como os rastreamentos podem não ser distribuídos uniformemente no período de tempo, o período de tempo especificado na barra de ferramentas Carregamento parcial pode não ser proporcional ao tamanho de carregamento mostrado. O tamanho de carregamento real pode ser menor do que o Tamanho estimado na caixa de diálogo de carregamento parcial.

Ajustando o carregamento parcial

Depois de carregar parcialmente o arquivo de rastreamento, convém alterar o conjunto de dados que está sendo carregado. Você pode fazer isso ajustando a barra de ferramentas Carregamento parcial na parte superior do visualizador.

  1. Mova a barra de ferramentas com o rato ou introduza a hora de Início e Fim.

  2. Clique no botão Ajustar .

Noções básicas sobre ícones de rastreamento

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

Nota

Alguns rastreamentos que não são categorizados (por exemplo, "uma mensagem está fechada") não têm ícone.

Rastreio de Atividade Rastreio

Ícone Description
Warning trace Rastreio de aviso: um vestígio emitido ao nível de aviso
Error trace Rastreamento de erro: um rastreamento 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. Ele contém o nome da atividade. Como designer ou desenvolvedor de aplicativos, você deve definir uma atividade Iniciar rastreamento por ID de atividade por processo ou thread.

Se o id de atividade for propagado entre fontes de rastreamento para correlação de rastreamento, você poderá ver vários Inícios para o mesmo id de atividade (um por fonte de rastreamento). O rastreamento Iniciar será emitido se o ActivityTracing estiver habilitado para a origem do rastreamento.
Activity Stop trace Rastreamento de parada de atividade: um rastreamento que marca o fim de uma atividade. . Ele contém o nome da atividade. Como designer ou desenvolvedor de aplicativos, você deve definir uma atividade Parar rastreamento por id de atividade por fonte de rastreamento. Nenhum rastreamento de uma determinada fonte de rastreamento aparece após a atividade Stop emitida por essa fonte de rastreamento, exceto se a granularidade do tempo de rastreamento não for suficientemente pequena. Quando isso acontece, dois traços com o mesmo tempo, incluindo um Stop, podem ser intercalados quando exibidos. Se o id de atividade for propagado entre fontes de rastreamento para correlação de rastreamento, você poderá ver várias paradas para o mesmo id de atividade (um por fonte de rastreamento). O rastreamento Stop será emitido se o ActivityTracing estiver habilitado para a origem do rastreamento.
Activity Suspend trace Rastreamento de suspensão de atividade: um rastreamento que marca o tempo em que uma atividade é pausada. Nenhum vestígio é emitido em uma atividade suspensa até que a atividade seja retomada. Uma atividade suspensa indica que nenhum processamento está acontecendo nessa atividade no escopo da fonte de rastreamento. Os rastreamentos de suspensão/retomada são úteis para a criação de perfis. O rastreamento de suspensão será emitido se o ActivityTracing estiver habilitado para a origem do 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. Podem ser novamente emitidos vestígios nessa atividade. Os rastreamentos de suspensão/retomada são úteis para a criação de perfis. O rastreamento Resume será emitido se o ActivityTracing estiver habilitado para a fonte de rastreamento.
Transfer Transferência: um traço que é emitido quando o fluxo de controle lógico é transferido de uma atividade para outra. A atividade de origem da transferência pode continuar a realizar trabalhos em paralelo com a atividade para a qual a transferência se destina. O rastreamento de transferência será emitido se o ActivityTracing estiver habilitado para a origem do rastreamento.
Transfer From Transferir de: um rastreamento que define uma transferência de outra atividade para a atividade atual.
Transfer To Transferir para: um rastreamento que define uma transferência do fluxo de controle lógico da atividade atual para outra atividade.

Rastreamentos WCF

Ícone Description
Message Log trace Rastreamento de log de mensagens: um rastreamento que é emitido quando uma mensagem WCF é registrada pelo recurso de log de mensagens, quando a fonte de System.ServiceModel.MessageLogging rastreamento está habilitada. Clicar neste rastreamento exibe a mensagem. Há quatro pontos de log configuráveis para uma mensagem: ServiceLevelSendRequest, TransportSend, TransportReceive e ServiceLevelReceiveRequest, que também podem ser especificados messageSource pelo atributo no rastreamento do log de mensagens.
Message Received trace Rastreamento de mensagem recebida: um rastreamento que é emitido quando uma mensagem WCF é recebida, se a System.ServiceModel fonte de rastreamento estiver habilitada no nível de informações ou detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagens na visualização Gráfico de atividades .
Message Sent trace Rastreamento de mensagem enviada: um rastreamento que é emitido quando uma mensagem WCF é enviada se a System.ServiceModel fonte de rastreamento estiver habilitada no nível de informações ou detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagens na visualização Gráfico de atividades .

Atividades

Ícone Description
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 Description
Environment activity Atividade de ambiente: uma atividade que cria, abre ou fecha um host ou cliente WCF. Erros que aconteceram durante essas fases aparecerão nesta atividade.
Listen activity Atividade de escuta: uma atividade que registra rastreamentos relacionados a um ouvinte. Dentro desta atividade, podemos visualizar informações do ouvinte e solicitações de conexão.
Receive Bytes activity Atividade Receber Bytes: uma atividade que agrupa todos os rastreamentos relacionados ao recebimento de bytes de entrada em uma conexão entre dois pontos de extremidade. Esta atividade é essencial para se correlacionar com atividades de transporte que propagam sua atividade id, como http.sys. Erros de conexão, como anulações, aparecerão nesta atividade.
Process Message activity Atividade de mensagem de processo: uma atividade que agrupa rastreamentos relacionados à criação de uma mensagem WCF. Erros devido a um envelope incorreto ou uma mensagem malformada aparecerão nessa atividade. Dentro dessa atividade, podemos inspecionar cabeçalhos de mensagens para ver se um ID de atividade foi propagado do chamador. Se isso for verdade, quando transferirmos para a atividade Ação de processo (o próximo ícone), também podemos atribuir a essa atividade o id de atividade propagada para correlação entre os rastreamentos do chamador e do destinatário.
Message Log trace Atividade de ação de processo: uma atividade que agrupa todos os rastreamentos relacionados a uma solicitação WCF em 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 atividade para correlação direta. Tal atividade conterá erros devido ao transporte ou processamento de segurança, estendendo-se ao limite do código do usuário e vice-versa (se existir uma resposta).
Process Message activity Executar atividade de código de usuário: uma atividade que agrupa rastreamentos de código de usuário para processar uma solicitação.

Resolução de Problemas

Se você não tiver permissão para gravar no registro, você receberá a seguinte mensagem de erro "O Microsoft Service Trace Viewer não foi registrado no sistema" quando você usa o comando "svctraceviewer /register" para registrar a ferramenta. Se isso ocorrer, você deve fazer login usando uma conta que tenha acesso de gravação ao registro.

Além disso, a ferramenta Visualizador de Rastreamento de Serviço grava algumas configurações (por exemplo, filtros personalizados e opções de filtro) no arquivo SvcTraceViewer.exe.settings em sua pasta 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 "Ocorreu um erro desconhecido ao processar um ou mais rastreamentos" ao abrir o arquivo .etl, isso significa que o formato do arquivo .etl é inválido.

Se você abrir um log de rastreamento criado usando um sistema operacional árabe, poderá notar que o filtro de tempo não funciona. Por exemplo, o ano 2005 corresponde ao ano 1427 no calendário árabe. No entanto, o intervalo de tempo suportado pelo filtro da ferramenta Visualizador de Rastreio de Serviço não suporta uma data anterior a 1752. Isso pode implicar que você não é capaz de selecionar uma data correta no filtro. Para resolver esse problema, você pode criar um filtro personalizado (View/Custom Filters) usando uma expressão XPath para incluir um intervalo de tempo específico.

Consulte também