Panduan Singkat: Memproses Penelusuran Pertama Anda

Cobalah TraceProcessor untuk mengakses data dalam Penelusuran Peristiwa untuk Windows (ETW). TraceProcessor memungkinkan Anda mengakses data pelacakan ETW sebagai objek .NET.

Dalam panduan mulai cepat ini, Anda akan belajar cara:

  1. Instal paket TraceProcessing NuGet.
  2. Buat TraceProcessor.
  3. Gunakan TraceProcessor untuk mengakses baris perintah proses yang terkandung dalam jejak.

Prasyarat

Visual Studio 2019

Menginstal paket TraceProcessing NuGet

.NET TraceProcessing tersedia dari NuGet dengan ID paket berikut:

Microsoft.Windows.EventTracing.Processing.All

Anda dapat menggunakan paket ini dalam aplikasi konsol untuk mencantumkan baris perintah proses yang terdapat dalam jejak ETW (berkas .etl).

  1. Buat Aplikasi Konsol .NET baru. Di Visual Studio, pilih File, Baru, Proyek..., dan pilih templat Aplikasi Konsol untuk C#.

    Masukkan Nama proyek, misalnya, TraceProcessorQuickstart, dan pilih Buat.

  2. Di Penjelajah Solusi, klik kanan pada Dependensi dan pilih Kelola Paket NuGet... dan beralih ke tab Telusuri.

  3. Dalam kotak Pencarian, masukkan Microsoft.Windows.EventTracing.Processing.All dan cari.

    Pilih Instal pada paket NuGet dengan nama tersebut, dan tutup jendela NuGet.

Membuat TraceProcessor

  1. Ubah Program.cs ke konten berikut:

    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");
            }
        }
    }
    
  2. Berikan nama pelacakan yang akan digunakan saat menjalankan proyek.

    Di Penjelajah Solusi, klik kanan pada proyek dan pilih Properti. Beralih ke tab Debug dan masukkan jalur ke jejak (file.etl) dalam argumen Aplikasi.

    Jika Anda belum memiliki file pelacakan, Anda bisa menggunakan Perekam Performa Windows untuk membuatnya.

  3. Jalankan aplikasi.

    Pilih Debugging, Mulai Tanpa Debugging untuk menjalankan kode Anda.

Gunakan TraceProcessor untuk mengakses baris perintah proses yang terkandung dalam jejak

  1. Ubah Program.cs ke konten berikut:

    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);
                }
            }
        }
    }
    
  2. Jalankan aplikasi lagi.

    Kali ini, Anda akan melihat daftar baris perintah dari semua proses yang dijalankan saat rekaman sedang dilakukan.

Langkah Selanjutnya

Dalam panduan cepat ini, Anda membuat aplikasi konsol, menginstal TraceProcessor, dan menggunakannya untuk mengakses baris perintah proses dari pelacakan ETW. Sekarang Anda memiliki aplikasi yang mengakses data pelacakan.

Informasi proses hanyalah salah satu dari banyak jenis data yang disimpan dalam jejak ETW yang dapat diakses aplikasi Anda.

Langkah selanjutnya adalah melihat lebih dekat pada TraceProcessor dan sumber data lain yang dapat diaksesnya.