Bagikan melalui


Mulai cepat: Memproses jejak pertama Anda

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

Dalam mulai cepat ini, Anda mempelajari 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 di aplikasi konsol untuk mencantumkan baris perintah proses yang terkandung dalam jejak ETW (file.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 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 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 lagi.

    Pilih Debug, Mulai Tanpa Penelusuran Kesalahan 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. Menjalankan aplikasi lagi.

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

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat aplikasi konsol, menginstal TraceProcessor, dan menggunakannya untuk mengakses baris perintah proses dari jejak 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 di TraceProcessor dan sumber data lain yang dapat diaksesnya.