Compartilhar via


Controlando o registro em log no .NET Framework

Você pode usar o rastreamento de eventos para Windows (ETW) para registrar eventos CLR (Common Language Runtime). Você pode criar e exibir rastreamentos usando as seguintes ferramentas:

Para capturar informações sobre eventos CLR, é necessário que o provedor CLR esteja 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 indicado abaixo.

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 do Windows Wevtutil . Abra a janela do 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 CLR:

wevtutil im CLR-ETW.man

Capturando eventos CLR ETW

Você pode usar as ferramentas de linha de comando do Logman e do Xperf para capturar eventos ETW e as ferramentas Tracerpt e Xperf para decodificar os eventos de rastreamento.

Para ativar o registro em log, um usuário deve especificar três coisas:

  • O provedor com o qual se comunicar.

  • Um número de 64 bits que representa um conjunto de palavras-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 e o nível 5 é o mais detalhado. O nível 0 é um padrão cujo significado é específico do provedor.

Para capturar eventos CLR ETW usando o Logman

  1. No prompt de comando, digite:

    logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf

    onde:

    • O -p parâmetro identifica o GUID do provedor.

    • 0x1CCBD especifica as categorias de eventos que serão gerados.

    • 0x5 define o nível do log (nesse caso, detalhado (5)).

    • O -ets parâmetro instrui o Logman a enviar comandos para sessões de rastreamento de eventos.

    • O parâmetro -ct perf especifica que a função QueryPerformanceCounter será usada para logar o timestamp para cada evento.

  2. Para interromper o registro em log dos eventos, digite:

    logman stop clrevents -ets

    Esse comando cria um arquivo de rastreamento binário chamado clrevents.etl.

Para capturar eventos CLR ETW usando Xperf

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

  2. Para interromper o rastreamento, digite:

    Xperf -stop clr

    Esse comando cria um arquivo de rastreamento chamado clrevents.etl.

Exibindo eventos ETW de CLR

Use os comandos listados abaixo para exibir os eventos CLR ETW. Para obter uma descrição dos eventos, consulte Clr ETW Events.

Para exibir eventos CLR ETW usando o Tracerpt

  • No prompt de comando, digite:

    tracerpt clrevents.etl

    Esse comando cria dois arquivos: dumpfile.xml e summary.txt. O arquivo dumpfile.xml lista todos os eventos e summary.txt fornece um resumo dos eventos.

Para exibir eventos CLR ETW usando Xperf

  • No prompt de comando, digite:

    xperf clrevents.etl

    Esse comando abre o visualizador de arquivos ETL do Xperf. Nesse visualizador, os eventos CLR aparecem no modo de exibição Eventos Genéricos . Para exibir uma grade de dados de eventos categorizados por tipo, selecione uma região de tempo nesse modo de exibição e clique com o botão direito do mouse e selecione Resumo.

Para converter o arquivo .etl em um arquivo de valor separado por vírgula

  • No prompt de comando, digite:

    xperf -i clrevents.etl -f clrevents.csv

    Esse comando faz o XPerf despejar os eventos como um arquivo CSV (valor separado por vírgula) que você pode exibir. Como eventos diferentes têm 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.

Consulte também