Mengonfigurasi dan Memulai Sesi Pelacakan Peristiwa

Untuk mengonfigurasi sesi pelacakan peristiwa, gunakan struktur EVENT_TRACE_PROPERTIES untuk menentukan properti sesi. Memori yang Anda alokasikan untuk struktur EVENT_TRACE_PROPERTIES harus cukup besar untuk juga berisi nama file sesi dan log yang mengikuti struktur dalam memori.

Setelah Anda menentukan properti sesi, panggil fungsi StartTrace untuk memulai sesi. Jika fungsi berhasil, parameter SessionHandle akan berisi handel sesi, dan properti LoggerNameOffset akan berisi offset ke nama sesi.

Untuk mengaktifkan penyedia yang ingin Anda catat peristiwa ke sesi Anda, panggil fungsi EnableTrace untuk mengaktifkan penyedia klasik dan fungsi EnableTraceEx untuk mengaktifkan penyedia berbasis manifes . Untuk mengaktifkan penyedia yang Anda inginkan untuk mencatat peristiwa ke pemfilteran sesi Anda pada kondisi tertentu pada Windows 8.1,Windows Server 2012 R2, dan yang lebih baru, panggil fungsi EnableTraceEx2.

Selain itu, Anda juga dapat melacak informasi tambahan tentang peristiwa dengan panggilan ke fungsi TraceSetInformation . TraceSetInformation menempatkan informasi pelacakan tambahan ke bagian data yang diperluas dari suatu peristiwa, dan dapat menyertakan informasi seperti info versi jejak, atau penyedia apa yang saat ini terdaftar di sistem. Untuk informasi selengkapnya, lihat Mengambil Data Pelacakan Peristiwa Tambahan.

Hingga delapan sesi pelacakan dapat mengaktifkan dan menerima peristiwa dari penyedia berbasis manifes yang sama. Namun, hanya satu sesi pelacakan yang dapat mengaktifkan penyedia klasik . Jika lebih dari satu sesi pelacakan mencoba mengaktifkan penyedia klasik, sesi pertama akan berhenti menerima peristiwa saat sesi kedua mengaktifkan penyedia. Misalnya, jika Sesi A diaktifkan Penyedia 1 dan kemudian Sesi B diaktifkan Penyedia 1, hanya Sesi B yang akan menerima peristiwa dari Penyedia 1.

Anda dapat menggunakan salah satu dari tiga fungsi untuk mengaktifkan penyedia tetapi Anda mungkin kehilangan fungsionalitas jika Anda menggunakan EnableTrace untuk mengaktifkan penyedia berbasis manifes karena Anda tidak akan dapat memberikan nilai MatchAllKeyword, menentukan item data yang diperluas untuk disertakan dalam peristiwa tersebut, atau menyediakan data filter yang ditentukan penyedia. Untuk informasi selengkapnya, lihat bagian Keterangan dari setiap fungsi.

Pada Windows 8.1,Windows Server 2012 R2, dan yang lebih baru, payload peristiwa, cakupan, dan filter stack walk dapat digunakan oleh fungsi EnableTraceEx2 dan struktur ENABLE_TRACE_PARAMETERS dan EVENT_FILTER_DESCRIPTOR untuk memfilter kondisi tertentu dalam sesi pencatat. Untuk informasi selengkapnya tentang filter payload peristiwa, lihat fungsi TdhCreatePayloadFilter, dan TdhAggregatePayloadFilters dan struktur ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTOR, dan PAYLOAD_FILTER_PREDICATE .

Untuk menentukan tingkat dan kata kunci yang digunakan untuk mengaktifkan penyedia berbasis manifes, gunakan salah satu perintah berikut:

  • Nama penyediakuerilogman
  • Nama penyediagpWevtutil

Perintah hanya mencantumkan tingkat dan kata kunci, penyedia harus mendokumen persyaratan data filter apa pun untuk pengontrol potensial.

Untuk menghitung penyedia berbasis manifes, gunakan wevtutilep.

Untuk penyedia klasik, terserah penyedia untuk mendokumen dan menyediakan untuk pengontrol potensial tingkat keparahan atau mengaktifkan bendera yang didukungnya. Jika penyedia ingin diaktifkan oleh pengontrol apa pun, penyedia harus menerima 0 untuk tingkat keparahan dan mengaktifkan bendera dan menafsirkan 0 sebagai permintaan untuk melakukan pengelogan default (apa pun yang mungkin).

Anda dapat mengaktifkan penyedia sebelum atau sesudah penyedia mendaftarkan dirinya sendiri. Setelah mengaktifkan penyedia, ETW kemudian akan memanggil fungsi panggilan balik penyedia. Jika penyedia tidak terdaftar, ETW akan memanggil fungsi panggilan balik penyedia setelah mendaftarkan dirinya sendiri.

Anda juga dapat menggunakan fungsi EnableTrace untuk menonaktifkan penyedia (menghentikannya dari peristiwa pengelogan ke sesi Anda) atau untuk memperbarui tingkat pengelogan atau mengaktifkan bendera penyedia. Dengan fungsi EnableTraceEx , Anda dapat menonaktifkan penyedia atau memperbarui tingkat, kata kunci, data yang diperluas, dan memfilter data. Setiap kali Anda memanggil fungsi EnableTrace atau EnableTraceEx , ETW memanggil fungsi panggilan balik penyedia. Penyedia tetap diaktifkan untuk sesi sampai sesi menonaktifkan penyedia.

Untuk menghentikan sesi pelacakan setelah mengumpulkan peristiwa, panggil fungsi ControlTrace dan teruskan EVENT_TRACE_CONTROL_STOP sebagai kode kontrol. Untuk menentukan sesi yang akan dihentikan, Anda dapat meneruskan handel sesi pelacakan peristiwa yang diperoleh dari panggilan sebelumnya ke fungsi StartTrace , atau nama sesi yang dimulai sebelumnya. Pastikan untuk menonaktifkan semua penyedia sebelum menghentikan sesi. Jika Anda menghentikan sesi sebelum terlebih dahulu menonaktifkan penyedia, ETW akan menonaktifkan penyedia dan mencoba memanggil fungsi panggilan balik kontrol penyedia. Jika aplikasi yang memulai sesi berakhir tanpa menonaktifkan penyedia atau memanggil fungsi ControlTrace , penyedia tetap diaktifkan.

Jika ControlTrace berhasil, properti sesi diperbarui untuk mencerminkan nilai properti akhir dan menjalankan statistik untuk sesi pelacakan peristiwa.

Untuk contoh yang memulai sesi pelacakan peristiwa, lihat yang berikut ini:

Untuk detail tentang memulai sesi pelacakan, lihat salah satu hal berikut ini:

Mengonfigurasi dan Memulai Sesi Pencatat Privat

Mengonfigurasi dan Memulai Sesi SystemTraceProvider

Mengonfigurasi dan Memulai Sesi AutoLogger

Mengonfigurasi dan Memulai Sesi Pencatat Kernel NT

ControlTrace

EnableTrace

EnableTraceEx

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_FILTER_DESCRIPTOR

EVENT_TRACE_PROPERTIES

PAYLOAD_FILTER_PREDICATE

StartTrace

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Memperbarui Sesi Pelacakan Peristiwa