Serviços WCF e rastreamento de eventos para Windows
O exemplo ETWTracing demonstra como usar o rastreamento analítico no Windows Communication Foundation (WCF) para emitir eventos no Rastreamento de Eventos para Windows (ETW). Os rastreamentos analíticos são eventos emitidos em pontos-chave na pilha 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 exibido usando o Visualizador de Eventos. Também é possível iniciar uma sessão ETW dedicada que ouve 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 criar 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 deve aparecer no navegador. Copie esse URI.
Por padrão, o serviço começa a escutar solicitações na porta 1378
http://localhost:1378/Calculator.svc
.Execute o cliente de teste WCF (WcfTestClient.exe).
O cliente de teste WCF (WcfTestClient.exe) está localizado em
\<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe
.Dentro do cliente de teste WCF, adicione o serviço selecionando Arquivo e, em seguida, Adicionar Serviço.
Adicione o endereço do ponto de extremidade na caixa de entrada. A predefiniçã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 está escutando os eventos de rastreamento emitidos pelo serviço WCF.
No menu Iniciar, selecione Ferramentas Administrativas e, em seguida, Visualizador de Eventos. Habilite os logs analítico e de depuração .
Na vista em árvore no Visualizador de Eventos, navegue até Visualizador de Eventos, Registos de Aplicações e Serviços, Microsoft, Windows e, em seguida , Aplicações do Servidor de Aplicações. Clique com o botão direito do mouse em Application Server-Applications, selecione Exibir e Mostrar Logs Analíticos e de Depuração.
Verifique se a opção Mostrar logs analíticos e de depuração está marcada.
Habilite o log analítico .
Na vista em árvore no Visualizador de Eventos, navegue até Visualizador de Eventos, Registos de Aplicações e Serviços, Microsoft, Windows e, em seguida , Aplicações do Servidor de Aplicações. Clique com o botão direito do mouse em Analítico e selecione Ativar Log.
Para testar o serviço
Volte para o cliente de teste WCF e clique
Divide
duas vezes e mantenha os valores padrão, que especificam um denominador de 0.Se o denominador for 0, o serviço lança uma falha.
Observe os eventos emitidos pelo serviço.
Volte para o Visualizador de Eventos e navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e, em seguida, Aplicativos do Servidor de 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 lançada 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
N2
parâmetro pode ser qualquer número diferente de 0.Atualize o canal analítico para exibir os eventos WCF não incluem nenhum evento de erro.
O exemplo demonstra os eventos de rastreamento analítico emitidos por um serviço WCF.
Para limpar (Opcional)
Abra o Visualizador de Eventos.
Navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e, em seguida, Application-Server-Applications. Clique com o botão direito do mouse em Analítico e selecione Desativar Log.
Navegue até Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows e, em seguida, Application-Server-Applications. Clique com o botão direito do mouse em Analítico e selecione Limpar Log.
Escolha a opção Limpar para limpar os eventos.