Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Experimente o TraceProcessor para acessar dados em um rastreamento ETW (Event Tracing for Windows). TraceProcessor permite que você acesse dados de rastreamento ETW como objetos .NET.
Neste início rápido você aprende a:
- Instale o pacote NuGet TraceProcessing.
- Crie um TraceProcessor.
- Use TraceProcessor para acessar as linhas de comando do processo contidas no rastreamento.
Pré-requisitos
Visual Studio 2019
Instalar o pacote NuGet TraceProcessing
O .NET TraceProcessing está disponível NuGet com a seguinte ID de pacote:
Microsoft.Windows.EventTracing.Processing.All
Você pode usar esse pacote em um aplicativo de console para listar as linhas de comando do processo contidas em um rastreamento ETW (arquivo .etl).
Crie um novo aplicativo de console .NET. No Visual Studio, selecione Arquivo, Novo, Projeto..., e escolha o modelo Aplicativo de Console para C#.
Insira um nome de projeto, por exemplo, TraceProcessorQuickstart, e escolha Criar.
No Gerenciador de Soluções, clique com o botão direito do mouse em Dependências e escolha Gerenciar Pacotes NuGet... e mude para o separador Procurar.
Na caixa Pesquisar, digite Microsoft.Windows.EventTracing.Processing.All e pesquise.
Selecione Instalar no pacote NuGet com esse nome e feche a janela NuGet.
Criar um TraceProcessor
Altere Program.cs para o seguinte conteúdo:
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { // TODO: call trace.Use... trace.Process(); Console.WriteLine("TODO: Access data from the trace"); } } }Forneça um nome de rastreamento para usar ao executar o projeto.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e escolha Propriedades. Alterne para a guia Depurar e insira o caminho para um rastreamento (arquivo .etl) em Argumentos da aplicação.
Se ainda não tiveres um ficheiro de rastreamento, podes usar o Gravador de Desempenho do Windows para criar um.
Execute o aplicativo.
Escolha Depurar, Iniciar sem Depuração para executar seu código.
Use TraceProcessor para acessar as linhas de comando do processo contidas no rastreamento
Altere Program.cs para o seguinte conteúdo:
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { IPendingResult<IProcessDataSource> pendingProcessData = trace.UseProcesses(); trace.Process(); IProcessDataSource processData = pendingProcessData.Result; foreach (IProcess process in processData.Processes) { Console.WriteLine(process.CommandLine); } } } }Execute o aplicativo novamente.
Desta vez, você verá uma lista de linhas de comando de todos os processos que estavam sendo executados enquanto o rastreamento estava sendo gravado.
Próximas Etapas
Neste início rápido, você criou um aplicativo de console, instalou o TraceProcessor e o usou para acessar linhas de comando de processo a partir de um rastreamento ETW. Agora você tem um aplicativo que acessa dados de rastreamento.
As informações de processo são apenas um dos muitos tipos de dados armazenados em um rastreamento ETW que seu aplicativo pode acessar.
O próximo passo é analisar mais detalhadamente o TraceProcessor e as outras fontes de dados que ele pode acessar.
Windows developer