Ferramenta Visualizador de Rastreamento de Serviço (SvcTraceViewer.exe)
Windows Ferramenta de Visualizador de Rastreamento de Serviço do WCF (Communication Foundation) ajuda você a analisar rastreamentos de diagnóstico gerados pelo WCF. O Visualizador de Rastreamento de Serviço 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 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.
Você pode configurar o rastreamento usando o arquivo de configuração do aplicativo, seja 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 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 nome de arquivo simples por um caminho totalmente qualificado.
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 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 | - Logs Fail-Fast e entradas do Log de Eventos e informações de correlação de rastreamento. A seguir estão alguns exemplos de quando você poderá usar o nível Crítico: - Seu AppDomain caiu devido a uma exceção sem tratamento. - O aplicativo não é iniciado. - A mensagem que causou a falha originou-se do processo MyApp.exe. |
| Erro | - Registra todas as exceções. Você pode usar o nível Erro nas seguintes situações: - O código falhou devido a uma exceção de conversão inválida. - Uma exceção "falha ao criar ponto de extremidade" está fazendo com que seu aplicativo falhe na inicialização. |
| Aviso | - Existe uma condição que pode resultar posteriormente em um erro ou 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á em 98% de sua capacidade configurada. |
| Informações | – São geradas mensagens úteis para monitorar e diagnosticar o status do sistema, medir o desempenho ou a criação de perfil. É 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 durante a criação da associação HTTP. |
| Detalhado | - Rastreamento no nível de depuração para o código do usuário e a 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 não foi iniciado porque a entrada no repositório de reservas 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 para limites de atividade: iniciar/parar. - Rastreamentos 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 é 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 .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 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 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
- Inicie o Visualizador de Rastreamento de Serviço usando uma janela de comando para navegar até o local de 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
Quando o Visualizador de Rastreamento de Serviço for iniciado, clique em Arquivo e, em seguida, aponte para Abrir. Navegue até o local onde seus arquivos de rastreamento são armazenados.
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 Project. Consulte a seção Gerenciar Project para obter mais detalhes.
Para adicionar arquivos de rastreamento adicionais à coleção que está aberta, clique em Arquivo e, em seguida, 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 atividades 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 Project, 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 obter mais informações sobre como exibir rastreamentos e atividades e a interface do usuário do Visualizador de Rastreamento de Serviço também, consulte Usando o Visualizador de Rastreamento de Serviço para exibir rastreamentos correlacionados e solução de problemas.
Alternando entre diferentes exibições
O Visualizador de Rastreamento de Serviço fornece as exibições a seguir. Elas são exibidas 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
Depois que os arquivos de rastreamento forem abertos, você poderá ver os rastreamentos agrupados em atividades e exibidos no modo atividade no painel esquerdo.
A exibição Atividade exibe nomes de atividade, número de rastreamentos na atividade, tempo de duração, hora de início e hora 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 exibi-la no Modo de Exibição Graph. A maneira alternativa é selecionar uma atividade e alternar para Graph Exibição.
Observação
A atividade "0000000000000" é uma atividade especial que não pode ser exibida na exibição Graph. 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 de log de mensagens associado. Você pode agrupar os rastreamentos de log de mensagens por Limite de Atividade, Processo/Thread ou Envio & de Recebimento para facilitar a navegação do fluxo de mensagens.
Exibição de gráfico
Essa exibição exibe os dados de rastreamento de uma determinada atividade no formulário do 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 Graph modo de exibição, selecione uma atividade no modo atividade e clique na guia Atividade ou 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 rastreamentos de log de mensagens também leva você à exibição Graph.
No modo de exibição Graph, 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
Clique em um bloco no gráfico.
Use as teclas para cima e para baixo para selecionar seus rastreamentos vizinhos.
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
Localize o rastreamento de transferência com um sinal "+" à esquerda do ícone de transferência.
Clique em "+" ou pressione Ctrl e "+" usando o teclado.
A próxima atividade aparece no grafo.
Um "-" aparece à esquerda do ícone de transferência. Clique no sinal "-" ou pressione Ctrl e "-", a transferência de atividade é recolhida.
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
Clique no ícone "+" no cabeçalho da atividade para expandir a atividade verticalmente.
Observe que todos os rastreamentos são exibidos no gráfico.
Clique no ícone "-" no cabeçalho da atividade para recolher a atividade verticalmente.
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 no menu Opção no modo de exibição Graph.
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 tem dois Modos de Layout: Processo e Thread. Essa configuração define a maior unidade de organização. O modo layout padrão é Process, o que significa que as atividades são agrupadas por processos no grafo.
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 para a área de transferência clicando com o botão direito do mouse em um rastreamento e selecionando Copiar Rastreamento para Á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.
O modo de exibição Formatado exibe as informações de maneira mais organizada. 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 exibe XML correspondente ao rastreamento selecionado. Ela oferece suporte a realce e sintaxe colorida. Quando você usa o Find para pesquisar cadeias de caracteres, ele realça os resultados da pesquisa.
O modo de exibição Mensagem exibe a parte da mensagem do XML nos rastreamentos de 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. Ele pode ser habilitado por meio do menu Exibir .
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 sub menu Opções de Filtro no menu Exibir .
Os filtros XPath personalizados oferecem aos usuários controle total sobre a filtragem. Eles podem ser definidos no menu 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:
Procure: Procure definir o assunto a ser buscado na operação de filtro. Por exemplo, se você quiser encontrar todos os rastreamentos que foram emitidos no contexto do processo X, defina esse campo como X e o campo Pesquisar 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 pré-definidos e personalizados para permitir que todos os rastreamentos passem.
Opções de filtro
O visualizador pode remover automaticamente rastreamentos WCF do modo de exibição. Ele pode remover seletivamente rastreamentos emitidos por áreas específicas do WCF, por exemplo, removendo rastreamentos relacionados à transação do modo de exibição.
As configurações desse filtro são definidas no sub menu Opções de Filtro no 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.
No painel de rastreamento na área de superior direita do visualizador, selecione um rastreamento que inclua o elemento pelo qual você deseja filtrar.
Clique no botão Criar Filtro Personalizado localizado na parte superior do painel de rastreamento.
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.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.
Altere o campo de parâmetro para a condição ThreadID de None 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.
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.
No menu Exibir, clique no item de menu Filtros Personalizados .
Na caixa de diálogo exibida, clique em Novo.
No mínimo, especifique um nome de filtro e a expressão XPath.
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 você deseja aplicar no campo Pesquisar no campo da barra de ferramentas de filtro. Para o exemplo anterior, selecione "ID do thread".
Especifique o valor que você está procurando no campo Localizar o quê . Em nosso exemplo, digite a ID do thread que deseja pesquisar.
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 o Quê . Por exemplo, a cadeia de caracteres a seguir define 3 parâmetros: '1;findValue;text'. O visualizador aplica '1' ao {0} parâmetro do filtro. 'findValue' e 'text' são aplicados {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:
No menu Exibir , clique em Filtros Personalizados.
Na caixa de diálogo que é aberta, clique no botão Importar .
Navegue até o arquivo de filtro personalizado (.stvcf), clique no arquivo e clique no botão Abrir .
Para exportar um filtro personalizado:
No menu Exibir, clique em Filtros Personalizados.
Na caixa de diálogo que é aberta, selecione o filtro que você deseja exportar.
Clique no botão Exportar.
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. Ele é acessível por meio 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ê 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 apenas em elementos XML.
A opção "Mensagem Registrada" pesquisa a palavra-chave somente em mensagens.
Ignorar a 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.
Navegando em rastreamentos
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 no programa, o passo a passo será muito semelhante a "Passo a passo" 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.
Passo a passo: use o menu Atividade ou pressione "F10". Você também pode usar a tecla de direção "para baixo" no painel de rastreamento.
Passo para trás: 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 levá-lo a uma atividade que ocorre em um processo diferente ou até mesmo em um computador diferente, pois as mensagens do WCF podem levar 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, "Atividade A" pode ser transferido para "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. Em "Atividade B", também pode haver um rastreamento de transferência no final da atividade para transferir de volta para "Atividade A". Isso é semelhante às chamadas de função em programas: A chama B e, em seguida, B retorna.
"Seguir transferência" é semelhante a "Entrar" em um depurador. Ele segue a transferência de A para B. Ele não tem nenhum efeito em 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.
Por 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, 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á sendo rastreada 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. "Ir para a próxima transferência" permite localizar o próximo rastreamento 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.
Pule para Próxima Transferência: Use o menu Atividade ou pressione "Ctrl + F10".
Pule para a Transferência Anterior: use o menu Atividade ou pressione "Ctrl + F9".
Navegar na exibição de gráfico
Embora navegar no painel de atividades e no painel de rastreamento seja semelhante à depuração, usar Graph modo de exibição fornece uma experiência muito melhor na navegação. Consulte a seção "Graph View" 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 execução de alguns minutos pode facilmente ser centenas de megabytes ou ainda maiores, dependendo da velocidade da 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 o tempo lento de carregamento e resposta na análise de arquivos de rastreamento grandes, o Visualizador de Rastreamento de Serviço fornece um recurso chamado "Carregamento Parcial", que carrega apenas uma pequena parte do rastreamento por 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.
Mova a barra de ferramentas usando o mouse, ou insira os horários de Início e Término.
Clique no botão Ajustar .
Entendendo os ícones de rastreamento
Veja a seguir uma lista de ícones que a ferramenta Visualizador de Rastreamento de Serviço usa no modo de exibição Atividade, Graph exibição e painel Rastreamento para representar diferentes itens.
Observação
Alguns rastreamentos que não são categorizados (por exemplo, "uma mensagem está fechada") não têm nenhum ícone.
Rastreamentos de atividades
| ícone | Descrição |
|---|---|
![]() |
Rastreamento de aviso: um rastreamento que é emitido no nível de aviso. |
![]() |
Rastreamento de erro: um rastreamento que é emitido no nível de erro. |
![]() |
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. |
![]() |
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. |
![]() |
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. |
![]() |
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ê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ência de: um rastreamento que define uma transferência de outra atividade para a atividade atual. |
![]() |
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 |
|---|---|
![]() |
Rastreamento do Log de Mensagens: um rastreamento emitido quando uma mensagem WCF é registrada pelo recurso de registro em log de mensagens, quando a origem do System.ServiceModel.MessageLogging rastreamento está habilitada. Clicar nesse 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 pelo messageSource atributo no rastreamento do log de mensagens. |
![]() |
Rastreamento recebido da mensagem: um rastreamento emitido quando uma mensagem WCF é recebida, se a origem do System.ServiceModel rastreamento estiver habilitada no nível de Informações ou Detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagem no modo de exibição Atividade Graph. |
![]() |
Rastreamento enviado por mensagem: um rastreamento que é emitido quando uma mensagem WCF é enviada se a origem do System.ServiceModel rastreamento está habilitada no nível informações ou detalhado. Esse rastreamento é essencial para exibir a seta de correlação de mensagem no modo de exibição Atividade Graph. |
Atividades
| ícone | Descrição |
|---|---|
![]() |
Atividade: indica que a atividade atual é uma atividade genérica. |
![]() |
Atividade raiz: indica a atividade raiz de um processo. |
Atividades do WCF
| ícone | Descrição |
|---|---|
![]() |
Atividade de ambiente: uma atividade que cria, abre ou fecha um host ou cliente do WCF. Os erros que tiverem ocorrido durante essas fases aparecerão nesta atividade. |
![]() |
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. |
![]() |
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. |
| Atividade de mensagem de processo: uma atividade que agrupa rastreamentos relacionados à criação de uma mensagem 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 for verdadeiro, quando transferirmos para a atividade Ação de Processo (o próximo ícone), também poderemos atribuir a essa atividade a ID de atividade propagada para correlação entre os rastreamentos do chamador e do chamador. | |
![]() |
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 ú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). |
| 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 seguinte mensagem de erro "O Visualizador de Rastreamento de Serviço da Microsoft não foi 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, você pode criar um filtro personalizado (Exibir/Filtros Personalizados) usando uma expressão XPath para incluir um intervalo de tempo específico.
















