Serviços e rastreamento de eventos WCF para Windows
O exemplo de ETWTracing demonstra como usar o rastreamento analítico no WCF (Windows Communication Foundation) para emitir eventos no ETW (Rastreamento de Eventos para Windows). Os rastreamentos analíticos são eventos emitidos em pontos-chave na pilha do WCF que permitem a solução de problemas de serviços WCF no ambiente de produção.
O rastreamento analítico nos serviços WCF é um rastreamento que pode ser ativado em um ambiente de produção com impacto mínimo no desempenho. Esses rastreamentos são emitidos como eventos para uma sessão ETW.
Este exemplo inclui um serviço WCF básico no qual os eventos são emitidos do serviço para o log de eventos, que pode ser visto com o Visualizador de Eventos. Também é possível iniciar uma sessão ETW dedicada que escuta eventos do serviço WCF. O exemplo inclui um script para criar uma sessão ETW dedicada que armazena eventos em um arquivo binário que pode ser lido usando o Visualizador de Eventos.
Para usar este exemplo
Usando o Visual Studio, abra o arquivo de solução EtwAnalyticTraceSample.sln.
Para compilar a solução, pressione CTRL+SHIFT+B.
Para executar a solução, pressione CTRL+F5.
No navegador da Web, clique em Calculator.svc. O URI do documento WSDL para o serviço será exibido no navegador. Copie esse URI.
Por padrão, o serviço começa a escutar as solicitações na porta 1378
http://localhost:1378/Calculator.svc
.Execute o cliente de teste do WCF (WcfTestClient.exe).
O cliente de teste do WCF (WcfTestClient.exe) está localizado em
\<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe
.No cliente de teste do WCF, adicione o serviço selecionando Arquivo e Adicionar Serviço.
Adicione o endereço do ponto de extremidade na caixa de entrada. O padrão é
http://localhost:1378/Calculator.svc
.Abra o aplicativo visualizador de eventos.
Antes de invocar o serviço, inicie o Visualizador de Eventos e verifique se o log de eventos escuta os eventos de acompanhamento emitidos do serviço WCF.
No menu Iniciar, selecione Ferramentas Administrativas e Visualizador de Eventos. Habilite os logs Analítico e de Depuração.
No modo de exibição de árvore no Visualizador de Eventos, navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows, Servidor de Aplicativo-Aplicativos. Clique com o botão direito do mouse em Servidor de Aplicativos-Aplicativos, selecione Exibir e Mostrar Logs Analítico e de Depuração.
Verifique se a opção Mostrar Logs Analítico e de Depuração está marcada.
Habilite o log Analítico.
No modo de exibição de árvore no Visualizador de Eventos, navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows, Servidor de Aplicativo-Aplicativos. Clique com o botão direito do mouse em Analítico e selecione Habilitar Log.
Para testar o serviço
Volte ao cliente de teste do WCF e clique duas vezes em
Divide
e mantenha os valores padrão, que especificam um denominador igual a 0.Se o denominador for 0, o serviço vai gerar uma falha.
Observe os eventos emitidos do serviço.
Volte ao Visualizador de Eventos e navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e Servidor de Aplicativos-Aplicativos. Clique com o botão direito do mouse em Analítico e selecione Atualizar.
Os eventos de rastreamento analítico do WCF são exibidos no visualizador de eventos. Observe que, como uma falha foi gerada pelo serviço, um evento de rastreamento de erro é exibido no visualizador de eventos.
Repita as etapas 1 e 2, mas com entradas válidas. O valor do parâmetro
N2
pode ser qualquer número diferente de 0.Atualize o canal analítico para ver os eventos do WCF e não incluir nenhum evento de erro.
O exemplo demonstra os eventos de rastreamento analítico emitidos de um serviço WCF.
A limpeza (opcional)
Visualizador de EventosAberto.
Navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e Servidor de Aplicativo-Aplicativos. Clique com o botão direito do mouse em Analítico e selecione Desabilitar Log.
Navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e Servidor de Aplicativo-Aplicativos. Clique com o botão direito do mouse em Analítico e selecione Limpar Log.
Escolha a opção Limpar para limpar os eventos.