Bagikan melalui


Kata Kunci dan Tingkat CLR ETW

Pelacakan peristiwa untuk peristiwa Windows (ETW) dapat difilter berdasarkan kategori dan tingkat. Kata Kunci CLR ETW Peristiwa memungkinkan pemfilteran peristiwa menurut kategori; mereka digunakan dalam kombinasi untuk penyedia runtime dan rundown. Tingkat peristiwa diidentifikasi oleh bendera.

Kata Kunci CLR ETW

Kata kunci adalah bendera yang dapat digabungkan untuk menghasilkan nilai. Dalam praktiknya, Anda menggunakan nilai heksadesimal kata kunci alih-alih nama kata kunci saat Anda memanggil utilitas baris perintah.

Parameternya dijelaskan dalam tabel berikut:

Kata Kunci Runtime CLR ETW

Tabel berikut mencantumkan kata kunci runtime CLR ETW, nilainya, dan tujuan penggunaannya.

Nama kata kunci runtime Nilai Tujuan
GCKeyword 0x00000001 Memungkinkan pengumpulan peristiwa pengumpulan sampah.
LoaderKeyword 0x00000008 Memungkinkan pengumpulan peristiwa pemuat.
JITKeyword 0x00000010 Memungkinkan pengumpulan peristiwa just-in-time (JIT).
NGenKeyword 0x00000020 Memungkinkan pengumpulan peristiwa untuk metode gambar asli (metode yang diproses oleh Native Image Generator, Ngen.exe); digunakan dengan StartEnumerationKeyword dan EndEnumerationKeyword. Kata kunci ini memiliki overhead tinggi. Ini menghasilkan peristiwa untuk setiap metode di dalam setiap modul NGen yang dimuat. Jika memungkinkan, alih-alih menggunakan kata kunci ini, kami sarankan Anda menggunakan database program (PDB) yang dihasilkan oleh alat pembuatan profil untuk mengambil informasi tentang metode dari modul NGen. Lihat juga OverrideAndSuppressNGenEventsKeyword nanti di tabel ini.
StartEnumerationKeyword 0x00000040 Memungkinkan enumerasi semua metode dalam runtime; digunakan bersama dengan NGenKeyword.
EndEnumerationKeyword 0x00000080 Memungkinkan enumerasi semua metode yang dihancurkan dalam runtime; digunakan bersama dengan JITKeyword dan NGenKeyword.
SecurityKeyword 0x00000400 Mengaktifkan pengumpulan peristiwa keamanan.
AppDomainResourceManagementKeyword 0x00000800 Memungkinkan pengumpulan peristiwa pemantauan sumber daya di tingkat domain aplikasi.
JITTracingKeyword 0x00001000 Memungkinkan pengumpulan peristiwa pelacakan JIT.
InteropKeyword 0x00002000 Memungkinkan pengumpulan peristiwa interop.
ContentionKeyword 0x00004000 Memungkinkan pengumpulan peristiwa ketidakcocokan.
ExceptionKeyword 0x00008000 Memungkinkan pengumpulan peristiwa pengecualian.
ThreadingKeyword 0x00010000 Memungkinkan pengumpulan peristiwa kumpulan utas.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (Tersedia di .NET Framework 4.5 dan yang lebih baru.) Menekan kata kunci NGenKeyword overhead tinggi dan mencegah pembuatan peristiwa untuk metode yang ada di dalam modul NGen. Dimulai dengan .NET Framework 4.5, alat pembuatan profil harus menggunakan OverrideAndSuppressNGenEventsKeyword dan NGenKeyword bersama-sama untuk menekan pembuatan peristiwa untuk metode dalam modul NGen. Ini memungkinkan alat pembuatan profil untuk menggunakan PDB NGen yang lebih efisien untuk mendapatkan informasi tentang metode dalam modul NGen. CLR di .NET Framework 4 dan versi yang lebih lama tidak mendukung pembuatan PDB NGen. Dalam versi sebelumnya ini, CLR tidak akan mengenali OverrideAndSuppressNGenEventsKeyword dan akan memproses NGenKeyword untuk menghasilkan peristiwa untuk metode dalam modul NGen.
PerfTrackKeyWord 0x2000000 Memungkinkan pengumpulan peristiwa ModuleLoad dan ModuleRange.
StackKeyword 0x40000000 Memungkinkan pengumpulan peristiwa pelacakan tumpukan CLR.

Kata Kunci Rundown CLR ETW

Tabel berikut mencantumkan kata kunci runtime CLR ETW, nilainya, dan tujuan penggunaannya.

Nama kata kunci rundown Nilai Tujuan
LoaderRundownKeyword 0x00000008 Memungkinkan pengumpulan peristiwa pemuat saat digunakan dengan StartRundownKeyword dan EndRundownKeyword.
JitRundownKeyword 0x00000010 Memungkinkan pengumpulan metode peristiwa DCStart dan DCEnd untuk metode yang dikompilasi JIT saat digunakan dengan StartRundownKeyword dan EndRundownKeyword.
NGenRundownKeyword 0x00000020 Memungkinkan pengumpulan metode peristiwa DCStart dan DCEnd untuk metode yang dikompilasi JIT saat digunakan dengan StartRundownKeyword dan EndRundownKeyword. Kata kunci ini memiliki overhead tinggi. Ini menghasilkan peristiwa untuk setiap metode di dalam setiap modul NGen yang dimuat. Jika memungkinkan, alih-alih menggunakan kata kunci ini, kami sarankan Anda menggunakan database program (PDB) yang dihasilkan oleh alat pembuatan profil untuk mengambil informasi tentang metode dari modul NGen. Lihat juga OverrideAndSuppressNGenEventsRundownKeyword nanti di tabel ini.
StartRundownKeyword 0x00000040 Mengaktifkan enumerasi status sistem selama rundown mulai.
EndRundownKeyword 0x00000100 Mengaktifkan enumerasi status sistem selama rundown akhir.
AppDomainResourceManagementRundownKeyword 0x00000800 Memungkinkan pengumpulan peristiwa untuk pemantauan sumber daya pada tingkat AppDomain saat digunakan dengan StartRundownKeyword atau EndRundownKeyword.
ThreadingKeyword 0x00010000 Memungkinkan pengumpulan peristiwa kumpulan utas.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (Tersedia di .NET Framework 4.5 dan yang lebih baru.) Menekan kata kunci NGenRundownKeyword overhead tinggi dan mencegah pembuatan peristiwa untuk metode yang ada di dalam modul NGen. Dimulai dengan .NET Framework 4.5, alat pembuatan profil harus menggunakan OverrideAndSuppressNGenEventsRundownKeyword dan NGenRundownKeyword bersama-sama untuk menekan pembuatan peristiwa untuk metode dalam modul NGen. Ini memungkinkan alat pembuatan profil untuk menggunakan PDB NGen yang lebih efisien untuk mendapatkan informasi tentang metode dalam modul NGen. CLR di .NET Framework 4 dan versi yang lebih lama tidak mendukung pembuatan PDB NGen. Dalam versi sebelumnya ini, CLR tidak akan mengenali OverrideAndSuppressNGenEventsRundownKeyword dan akan memproses NGenRundownKeyword untuk menghasilkan peristiwa untuk metode dalam modul NGen.
PerfTrackKeyWord 0x2000000 Memungkinkan pengumpulan peristiwa ModuleDCStart, ModuleDCEnd, ModuleRangeDCStart, dan ModuleRangeDCEnd.

Kombinasi Kata Kunci untuk Resolusi Simbol untuk Penyedia Runtime

Kata Kunci dan Bendera Domain aplikasi, assembly, peristiwa pemuatan/pembongkaran modul Peristiwa pemuatan/pembongkaran metode (kecuali peristiwa dinamis) Peristiwa pemuatan/penghancuran metode dinamis
LoaderKeyword Muat dan bongkar peristiwa. Tidak ada. Tidak ada.
JITKeyword

(+ StartEnumerationKeyword tidak menambahkan apa pun)
Tidak ada. Muat peristiwa. Muat dan bongkar peristiwa.
JITKeyword +

EndEnumerationKeyword
Tidak ada. Muat dan bongkar peristiwa. Muat dan bongkar peristiwa.
NGenKeyword Tidak ada. Tidak ada. Tidak dapat diterapkan.
NGenKeyword +

StartEnumerationKeyword
Tidak ada. Muat peristiwa. Tidak dapat diterapkan.
NGenKeyword +

EndEnumerationKeyword
Tidak ada. Bongkar peristiwa. Tidak dapat diterapkan.

Kombinasi Kata Kunci untuk Resolusi Simbol untuk Penyedia Rundown

Kata Kunci dan Bendera Domain aplikasi, assembly, modul peristiwa DCStart/DCEnd Peristiwa metode DCStart/DCEnd (termasuk peristiwa metode dinamis)
LoaderRundownKeyword +

StartRundownKeyword
DCStart peristiwa. Tidak ada.
LoaderRundownKeyword +

EndRundownKeyword
DCEnd peristiwa. Tidak ada.
JITKeyword +

StartRundownKeyword
Tidak ada. DCStart peristiwa.
JITKeyword +

EndRundownKeyword
Tidak ada. DCEnd peristiwa.
NGenKeyword +

StartRundownKeyword
Tidak ada. DCStart peristiwa.
NGenKeyword +

EndRundownKeyword
Tidak ada. DCEnd peristiwa.

Tingkat Peristiwa ETW

Peristiwa ETW juga dapat difilter berdasarkan tingkat. Jika tingkat diatur pada 0x5, peristiwa semua tingkatan, termasuk 0x5 dan di bawahnya (yang merupakan peristiwa yang termasuk dalam kategori yang diaktifkan melalui kata kunci) akan dinaikkan. Jika tingkat diatur pada 0x2, hanya peristiwa yang termasuk dalam tingkat 0x2 ke bawah yang dinaikkan.

Tingkat memiliki arti berikut:

0x5 - Verbose

0x4 - Informasional

0x3 - Peringatan

0x2 - Kesalahan

0x1 - Kritis

0x0 - LogAlways

Lihat juga