Konstanta Mode Pengelogan
Konstanta berikut mewakili kemungkinan mode pengelogan untuk sesi pelacakan peristiwa.
Konstanta digunakan dalam LogFileMode anggota struktur EVENT_TRACE_LOGFILE, EVENT_TRACE_PROPERTIES dan TRACE_LOGFILE_HEADER. Konstanta ini didefinisikan dalam file header Evntrace.h.
Modus | Deskripsi |
---|---|
EVENT_TRACE_FILE_MODE_NONE (0x00000000) | Sama seperti EVENT_TRACE_FILE_MODE_SEQUENTIAL tanpa ukuran file maksimum yang ditentukan. |
EVENT_TRACE_FILE_MODE_SEQUENTIAL (0x00000001) | Menulis peristiwa ke file log secara berurutan; berhenti ketika file mencapai ukuran maksimumnya. Jangan gunakan dengan EVENT_TRACE_FILE_MODE_CIRCULAR atau EVENT_TRACE_FILE_MODE_NEWFILE. |
EVENT_TRACE_FILE_MODE_CIRCULAR (0x00000002) | Menulis peristiwa ke file log. Setelah file mencapai ukuran maksimum, peristiwa terlama diganti dengan peristiwa masuk. Perhatikan bahwa konten file log melingkar mungkin tampak tidak berurutan di komputer multiprosesor. Jangan gunakan dengan EVENT_TRACE_FILE_MODE_APPEND, EVENT_TRACE_FILE_MODE_NEWFILE, atau EVENT_TRACE_FILE_MODE_SEQUENTIAL. |
MODE_PENYUSUNAN_FILE_TRACE_PERISTIWA (0x00000004) | Menambahkan peristiwa ke file log berurutan yang ada. Jika file tidak ada, maka akan dibuat. Gunakan hanya jika Anda menentukan waktu sistem untuk resolusi jam, jika tidak, ProcessTrace akan mengembalikan peristiwa dengan stempel waktu yang salah. Saat menggunakan EVENT_TRACE_FILE_MODE_APPEND, nilai untuk BufferSize, NumberOfProcessors, dan ClockType harus disediakan secara eksplisit dan harus sama di pencatat dan file yang ditambahkan. Jangan gunakan dengan EVENT_TRACE_REAL_TIME_MODE, EVENT_TRACE_FILE_MODE_CIRCULAR, EVENT_TRACE_FILE_MODE_NEWFILE, atau EVENT_TRACE_PRIVATE_LOGGER_MODE. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_FILE_MODE_NEWFILE (0x00000008) | Secara otomatis beralih ke file log baru ketika file mencapai ukuran maksimum. Anggota MaximumFileSizeEVENT_TRACE_PROPERTIES harus ditetapkan. Nama file yang ditentukan harus berupa string yang diformat (misalnya, string berisi %d, seperti c:\test%d.etl). Setiap kali file baru dibuat, penghitung dinaikkan dan nilainya digunakan, string diformat diperbarui, dan string yang dihasilkan digunakan sebagai nama file. Opsi ini tidak diizinkan untuk sesi pelacakan peristiwa privat dan tidak boleh digunakan untuk sesi pencatat kernel NT. Jangan gunakan dengan EVENT_TRACE_FILE_MODE_CIRCULAR, EVENT_TRACE_FILE_MODE_APPEND atau EVENT_TRACE_FILE_MODE_SEQUENTIAL. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_FILE_MODE_PREALLOCATE(0x00000020) | Cadangan EVENT_TRACE_PROPERTIES. MaximumFileSize byte ruang disk untuk file log terlebih dahulu. File menempati seluruh ruang selama pengelogan, untuk file log melingkar dan berurutan. Saat Anda menghentikan sesi, file log dikurangi ke ukuran yang diperlukan. Anda harus mengatur EVENT_TRACE_PROPERTIES.MaximumFileSize. Anda tidak dapat menggunakan mode untuk sesi pelacakan peristiwa privat. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_NONSTOPPABLE_MODE(0x00000040) | Sesi pengelogan tidak dapat dihentikan. Mode ini hanya didukung oleh Autologger.Opsi ini didukung pada Windows Vista dan yang lebih baru. . |
EVENT_TRACE_SECURE_MODE (0X00000080) | Membatasi siapa yang dapat mencatat peristiwa ke sesi kepada mereka yang memiliki izin TRACELOG_LOG_EVENT. Opsi ini didukung pada Windows Vista dan yang lebih baru. |
EVENT_TRACE_REAL_TIME_MODE (0x00000100) | Memberikan peristiwa kepada konsumen secara real-time. Peristiwa dikirimkan ketika buffer dibersihkan, bukan pada saat penyedia menulis peristiwa. Anda tidak boleh mengaktifkan mode waktu nyata jika tidak ada konsumen untuk memproses peristiwa karena panggilan untuk mencatat peristiwa pada akhirnya akan gagal ketika penyangga menjadi penuh. Sebelum Windows Vista, jika peristiwa tidak dikonsumsi, peristiwa tersebut dibuang. Jangan tentukan lebih dari satu konsumen real-time dalam satu proses pada Windows XP atau Windows Server 2003. Sebagai gantinya, miliki satu utas untuk mengonsumsi peristiwa dan mendistribusikan peristiwa kepada orang lain. Sebelum Windows Vista: Anda tidak boleh menggunakan mode real time karena tingkat peristiwa yang didukung jauh lebih rendah daripada membaca dari file log (peristiwa mungkin dihilangkan). Selain itu, urutan peristiwa tidak dijamin pada komputer dengan beberapa prosesor. Mode real time lebih cocok untuk peristiwa jenis pemberitahuan dengan lalu lintas rendah. Anda dapat menggabungkan mode ini dengan mode file log lainnya; namun, jangan gunakan mode ini dengan EVENT_TRACE_PRIVATE_LOGGER_MODE. Perhatikan bahwa jika Anda menggabungkan mode ini dengan mode file log lainnya, buffer akan dihapus setiap detik sekali, sehingga buffer yang diisi sebagian ditulis ke file log Anda. Misalnya jika Anda menggunakan buffer 64k dan tingkat pengelogan Anda adalah 1 peristiwa setiap detik, layanan akan menulis 64k/detik ke file log Anda. |
EVENT_TRACE_DELAY_OPEN_FILE_MODE(0x00000200) | Mode ini digunakan untuk menunda pembukaan file log hingga peristiwa terjadi. Catatan: Pada Windows Vista atau yang lebih baru, mode ini tidak berlaku, dan tidak boleh digunakan. |
EVENT_TRACE_BUFFERING_MODE (0x 00000400) | Mode ini menulis peristiwa ke buffer memori melingkar. Peristiwa yang ditulis melebihi kapasitas total buffer akan menghapus peristiwa tertua yang masih tersisa di buffer. Ukuran buffer memori ini adalah produk dari MinimumBuffers dan BufferSize (lihat EVENT_TRACE_PROPERTIES). Sebagai konsekuensi dari rumus ini, setiap buffer yang menggunakan EVENT_TRACE_BUFFERING_MODE akan mengabaikan nilai MaximumBuffers. Peristiwa tidak ditulis ke file log atau dikirimkan secara real-time, dan ETW tidak menghapus buffer. Untuk mendapatkan cuplikan buffer, panggil fungsi FlushTrace. Mode ini sangat berguna untuk men-debug driver perangkat dengan kemampuan untuk melihat konten buffer dalam memori menggunakan ekstensi debugger kernel WMITrace. Jangan gunakan dengan EVENT_TRACE_FILE_MODE_SEQUENTIAL, EVENT_TRACE_FILE_MODE_CIRCULAR, EVENT_TRACE_FILE_MODE_APPEND, EVENT_TRACE_FILE_MODE_NEWFILE, atau EVENT_TRACE_REAL_TIME_MODE. |
EVENT_TRACE_PRIVATE_LOGGER_MODE (0x00000800) | Membuat sesi pelacakan peristiwa pada mode pengguna yang berjalan dalam proses yang sama dengan penyedia pelacakan peristiwa tersebut. Memori untuk buffer berasal dari memori proses. Proses yang tidak memerlukan data dari kernel dapat menghilangkan overhead yang terkait dengan transisi mode kernel dengan menggunakan sesi pelacakan peristiwa privat. Jika penyedia didaftarkan oleh beberapa proses, ETW menambahkan pengidentifikasi proses ke nama file log untuk membuat nama file log yang unik. Misalnya, jika pengontrol menentukan nama file log sebagai c:\mylogs\myprivatelog.etl, ETW membuat file log sebagai c:\mylogs\myprivatelog.etl_nnnn, di mana nnnn adalah pengidentifikasi proses. Pengidentifikasi proses tidak ditambahkan ke proses pertama yang mendaftarkan penyedia, itu ditambahkan hanya ke proses berikutnya yang mendaftarkan penyedia. Sesi pelacakan peristiwa privat memiliki batasan berikut:
Anda dapat menggunakan mode ini bersama dengan mode EVENT_TRACE_PRIVATE_IN_PROC. Sebelum Windows 10, versi 1703: Hanya LocalSystem, administrator, dan pengguna dalam grup administrator yang berjalan dalam proses yang ditinggikan dapat membuat sesi privat. Jika Anda menyertakan penanda EVENT_TRACE_PRIVATE_IN_PROC, setiap pengguna dapat membuat sesi privat dalam-proses. Selain itu, dalam versi Windows sebelumnya, hanya boleh ada satu sesi privat per proses (kecuali mode EVENT_TRACE_PRIVATE_IN_PROC juga ditentukan, dalam hal ini Anda dapat membuat hingga tiga sesi privat dalam proses). Sebelum Windows Vista: Pengguna di grup Pengguna Log Performa juga dapat membuat sesi privat. Jangan gunakan dengan EVENT_TRACE_REAL_TIME_MODE. Sebelum Windows 7 dan Windows Server 2008 R2: Jangan gunakan dengan EVENT_TRACE_FILE_MODE_NEWFILE. |
EVENT_TRACE_ADD_HEADER_MODE(0x00001000) | Opsi ini menambahkan header ke file log. Catatan: Pada Windows Vista atau yang lebih baru, mode ini tidak berlaku, dan tidak boleh digunakan. |
EVENT_TRACE_USE_KBYTES_FOR_SIZE(0x00002000) | Gunakan kilobyte sebagai unit pengukuran untuk menentukan ukuran file. Satuan ukuran default adalah megabyte. Mode ini berlaku untuk nilai registri MaxFileSize untuk sesi AutoLogger dan anggota MaximumFileSize dari EVENT_TRACE_PROPERTIES. Opsi ini didukung pada Windows Vista dan yang lebih baru. |
EVENT_TRACE_USE_GLOBAL_SEQUENCE(0x00004000) | Menggunakan nomor urut yang unik di seluruh sesi pelacakan peristiwa. Mode ini hanya berlaku untuk peristiwa yang dicatat menggunakan fungsi TraceMessage. Untuk informasi selengkapnya, lihat TraceMessage untuk detail penggunaan. EVENT_TRACE_USE_GLOBAL_SEQUENCE dan EVENT_TRACE_USE_LOCAL_SEQUENCE saling bertentangan. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_USE_LOCAL_SEQUENCE (0x00008000) | Menggunakan nomor urut yang unik hanya untuk sesi pelacakan peristiwa individual. Mode ini hanya berlaku untuk peristiwa yang dicatat menggunakan fungsi TraceMessage. Untuk informasi selengkapnya, lihat TraceMessage untuk detail penggunaan. EVENT_TRACE_USE_GLOBAL_SEQUENCE dan EVENT_TRACE_USE_LOCAL_SEQUENCE saling eksklusif. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_RELOG_MODE (0x00010000) | Mencatat peristiwa tanpa menyertakan EVENT_TRACE_HEADER.Catatan: Mode ini tidak boleh digunakan. Ini diperuntukkan untuk keperluan internal. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_PRIVATE_IN_PROC (0x00020000) | Gunakan bersama dengan mode EVENT_TRACE_PRIVATE_LOGGER_MODE untuk memulai sesi privat. Mode ini memberlakukan bahwa hanya proses yang mendaftarkan GUID penyedia yang dapat memulai sesi pencatat dengan GUID tersebut. Anda dapat membuat hingga tiga sesi privat dalam proses per proses. Opsi ini didukung pada Windows Vista dan yang lebih baru. |
EVENT_TRACE_MODE_RESERVED(0x00100000) | Opsi ini digunakan untuk menandakan tumpukan dan pelacakan bagian kritis. Opsi ini didukung pada Windows Vista dan yang lebih baru. |
EVENT_TRACE_STOP_ON_HYBRID_SHUTDOWN(0x00400000) | Opsi ini menghentikan pengelogan pada matikan hibrid. Jika tidak ada EVENT_TRACE_STOP_ON_HYBRID_SHUTDOWN atau EVENT_TRACE_PERSIST_ON_HYBRID_SHUTDOWN yang ditentukan, ETW akan memilih default berdasarkan apakah pemanggil berasal dari Sesi 0 atau tidak. Opsi ini didukung pada Windows 8 dan Windows Server 2012. |
EVENT_TRACE_PERSIST_ON_HYBRID_SHUTDOWN(0x00800000) | Opsi ini melanjutkan pengelogan pada matikan hibrid. Jika tidak ada EVENT_TRACE_STOP_ON_HYBRID_SHUTDOWN atau EVENT_TRACE_PERSIST_ON_HYBRID_SHUTDOWN yang ditentukan, ETW akan memilih default berdasarkan apakah pemanggil berasal dari Sesi 0 atau tidak. Opsi ini didukung pada Windows 8 dan Windows Server 2012. |
EVENT_TRACE_USE_PAGED_MEMORY (0x01000000) | Menggunakan memori halaman. Pengaturan ini disarankan agar peristiwa tidak menggunakan memori yang tidak dipaginasi. Buffer yang tidak dipaginasi menggunakan memori yang tidak dipaginasi untuk ruang buffer. Karena buffer yang tidak di-halaman tidak pernah di-page out, sesi pengelogan berkinerja baik. Menggunakan buffer yang dapat dipartisi lebih hemat sumber daya. Penyedia mode kernel dan pencatat sistem tidak dapat mencatat peristiwa ke sesi yang menentukan mode pengelogan ini. Mode ini diabaikan jika EVENT_TRACE_PRIVATE_LOGGER_MODE telah diaktifkan. Anda tidak dapat menggunakan mode ini dengan NT Kernel Logger. Windows 2000: Nilai ini tidak didukung. |
EVENT_TRACE_SYSTEM_LOGGER_MODE(0x02000000) | Opsi ini akan menerima peristiwa dari SystemTraceProvider. Jika parameter StartTracePropertiesLogFileMode menyertakan bendera ini, pencatat akan menjadi pencatat sistem. Opsi ini didukung pada Windows 8 dan Windows Server 2012. |
EVENT_TRACE_INDEPENDENT_SESSION_MODE(0x08000000) | Menunjukkan bahwa sesi pengelogan tidak boleh dipengaruhi oleh kegagalan EventWrite di sesi lain. Tanpa penanda ini, jika sebuah peristiwa tidak dapat dipublikasikan ke salah satu sesi di mana penyedia diaktifkan, peristiwa tersebut tidak akan diterbitkan ke semua sesi. Ketika bendera ini diatur, kegagalan untuk menulis peristiwa ke satu sesi tidak akan menyebabkan fungsi EventWrite mengembalikan kode kesalahan di sesi lain. Jangan gunakan dengan EVENT_TRACE_PRIVATE_LOGGER_MODE. Opsi ini didukung pada Windows 8.1, Windows Server 2012 R2, dan yang lebih baru. |
EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING (0x10000000) | Menulis peristiwa yang dicatat pada prosesor yang berbeda ke buffer umum. Menggunakan mode ini dapat menghilangkan masalah peristiwa yang muncul di luar urutan ketika peristiwa diterbitkan pada prosesor yang berbeda menggunakan waktu sistem. Mode ini juga dapat mengatasi masalah dengan log melingkar yang tampaknya menghilangkan peristiwa pada komputer dengan beberapa prosesor. Jika Anda tidak menggunakan mode ini dan menggunakan waktu sistem, peristiwa mungkin tampak tidak berurutan pada beberapa komputer prosesor. Ini karena buffer ETW dikaitkan dengan prosesor alih-alih utas. Akibatnya, jika thread dialihkan dari satu CPU ke CPU lainnya, buffer yang terkait dengan CPU yang baru dapat dihapus ke disk sebelum yang terkait dengan CPU yang lama. Jika Anda mengharapkan volume peristiwa yang tinggi (misalnya, lebih dari 1.000 peristiwa per detik), Anda tidak boleh menggunakan mode ini. Perhatikan bahwa nomor prosesor tidak disertakan dengan peristiwa. Opsi ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru. |
EVENT_TRACE_ADDTO_TRIAGE_DUMP(0x80000000) | Opsi ini menambahkan buffer ETW ke dump triase. Opsi ini didukung pada Windows 8 dan Windows Server 2012. |