Controlando o registro em log no .NET Framework
Você pode usar o ETW (Rastreamento de Eventos para Windows) para registrar eventos de CLR (Common Language Runtime). Você pode criar e exibir rastros usando as seguintes ferramentas:
As ferramentas de linha de comando Logman e Tracerpt, ambas incluídas no sistema operacional Windows.
As ferramentas Xperf no Windows Performance Toolkit. Para obter mais informações sobre o Xperf, visite o blog de Desempenho do Windows.
Para capturar informações de eventos de CLR, o provedor de CLR deve estar instalado em seu computador. Para confirmar que o provedor está instalado, digite logman query providers
no prompt de comando. Uma lista de provedores é exibida. Essa lista deve conter uma entrada para o provedor CLR, conforme mostrado a seguir.
Provider GUID
-------------------------------------------------------------------------------
.NET Common Language Runtime {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}.
Se o provedor CLR não estiver listado, você poderá instalá-lo no Windows Vista e em sistemas operacionais posteriores usando a ferramenta de linha de comando Wevtutil do Windows. Abra uma janela de prompt de comando como administrador. Altere o diretório do prompt para a pasta do .NET Framework 4 (%WINDIR%\Microsoft.NET\Framework[64]\v4.<.NET version>\ ). Esta pasta contém o arquivo CLR-ETW.man. No prompt de comando, digite o seguinte comando para instalar o provedor de CLR:
wevtutil im CLR-ETW.man
Capturando eventos de CLR com o ETW
Use as ferramentas de linha de comando Logman e Xperf para capturar eventos ETW e as ferramentas Tracerpt e Xperf para decodificar eventos de rastreamento.
Para ativar o log, um usuário deve especificar três coisas:
O provedor com o qual a comunicação será feita.
Um número de 64 bits que representa um conjunto de palavra-chave. Cada palavra-chave representa um conjunto de eventos que o provedor pode ativar. O número representa um conjunto combinado de palavras-chave para ativar.
Um número pequeno representando o nível (detalhamento) em que o registro será feito. O nível 1 é o menos detalhado, enquanto que o nível 5 é o mais detalhado. O nível 0 é um padrão cujo significado é específico do provedor.
Para capturar eventos ETW de CLR usando o Logman
No prompt de comando, digite:
logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf
em que:
O parâmetro
-p
identifica o GUID do provedor.0x1CCBD
especifica as categorias de eventos que serão geradas.0x5
define o nível do log (nesse caso, detalhado (5)).O parâmetro
-ets
instrui o Logman a enviar comandos para a seções de rastreamento de eventos.O parâmetro
-ct perf
especifica que a funçãoQueryPerformanceCounter
será usada para registrar o carimbo de data/hora para cada evento.
Para parar de registrar os eventos, digite:
logman stop clrevents -ets
Este comando cria um arquivo binário de rastreamento chamado clrevents.etl.
Para capturar eventos CLR ETW usando o Xperf
No prompt de comando, digite:
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl
Onde o GUID é o GUID do provedor ETW de CLR, e
0x1CCBD:5
rastreia tudo no nível 5 (detalhado) e nos níveis inferiores.Para parar o rastreamento, digite:
Xperf -stop clr
Este comando cria um arquivo de rastreamento chamado clrevents.etl.
Exibindo eventos ETW de CLR
Use os comandos listados abaixo para exibir os eventos ETW de CLR. Para obter uma descrição dos eventos, consulte Eventos CLR ETW.
Para exibir eventos ETW de CLR usando o Tracerpt
No prompt de comando, digite:
tracerpt clrevents.etl
Este comando cria dois arquivos: dumpfile.xml e summary.txt. O arquivo dumpfile.xml lista todos os eventos, enquanto que summary.txt fornece um resumo dos eventos.
Para exibir eventos ETW de CLR usando Xperf
No prompt de comando, digite:
xperf clrevents.etl
Este comando abre o visualizador de arquivos Xperf ETL. Nesse visualizador, os eventos CLR são mostrados na exibição Eventos Genéricos. Para exibir uma grade de dados de eventos categorizados por tipo, selecione uma região de tempo nessa exibição e, em seguida, clique com o botão direito do mouse e selecione Resumo.
Para converter o arquivo .etl em um arquivo de valores separados por vírgula.
No prompt de comando, digite:
xperf -i clrevents.etl -f clrevents.csv
Este comando faz com que XPerf despeje os eventos na forma de um arquivo de valores separados por vírgula (CSV) que você pode abrir. Porque eventos diferentes possuem campos diferentes, esse arquivo CSV contém mais de uma linha de cabeçalho antes dos dados. O primeiro campo de cada linha é o tipo de evento, que indica qual cabeçalho deve ser usado para determinar o restante dos campos.