Bagikan melalui


Peristiwa ETW Kumpulan Utas

Peristiwa ini mengumpulkan informasi tentang pekerja dan utas I/O.

Ada dua grup peristiwa kumpulan utas:

  • Peristiwa kumpulan utas pekerja, yang memberikan informasi tentang cara aplikasi menggunakan kumpulan utas, dan pengaruh beban kerja pada kontrol konkurensi.

  • Peristiwa kumpulan utas I/O, yang memberikan informasi tentang utas I/O yang dibuat, dihentikan, tidak dihentikan, atau dihentikan di kumpulan utas.

Peristiwa Pool Utas Pekerja

Peristiwa ini berhubungan dengan kumpulan utas pekerja runtime dan memberikan pemberitahuan untuk peristiwa utas (misalnya, ketika utas dibuat atau dihentikan). Kumpulan utas pekerja menggunakan algoritme adaptif untuk kontrol konkurensi, ketika jumlah utas dihitung berdasarkan throughput yang diukur. Peristiwa kumpulan utas pekerja dapat digunakan untuk memahami cara aplikasi menggunakan kumpulan utas, dan efek beban kerja tertentu pada kontrol konkurensi.

ThreadPoolWorkerThreadStart dan ThreadPoolWorkerThreadStop

Tabel berikut menunjukkan kata kunci dan level untuk peristiwa ini. (Untuk informasi selengkapnya, lihat Kata Kunci dan Tingkat ETW Runtime Bahasa Umum.)

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Dimunculkan ketika
ThreadPoolWorkerThreadStart 50 Sebuah utas pekerja dibuat.
ThreadPoolWorkerThreadStop 51 Sebuah utas pekerja dihentikan.
ThreadPoolWorkerThreadRetirementStart 52 Sebuah utas pekerja berhenti.
ThreadPoolWorkerThreadRetirementStop 53 Utas pekerja yang sudah dihentikan menjadi aktif kembali.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
ActiveWorkerThreadCount win:UInt32 Jumlah utas pekerja yang tersedia untuk memproses pekerjaan, termasuk yang sudah memproses pekerjaan.
RetiredWorkerThreadCount win:UInt32 Jumlah utas pekerja yang tidak tersedia untuk memproses pekerjaan, tetapi disimpan sebagai cadangan jika diperlukan lebih banyak utas nanti.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

ThreadPoolWorkerThreadAdjustment

Peristiwa kumpulan utas ini memberikan informasi untuk memahami dan men-debug perilaku algoritma injeksi utas (kontrol konkurensi). Informasi tersebut digunakan secara internal oleh kumpulan utas pekerja.

ThreadPoolWorkerThreadAdjustmentSample

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Deskripsi
ThreadPoolWorkerThreadAdjustmentSample 54 Mengacu pada pengumpulan informasi untuk satu sampel; yaitu, pengukuran throughput dengan tingkat konkurensi tertentu, dalam waktu sekejap.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Throughput win:Double Jumlah penyelesaian per unit waktu.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Deskripsi
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Merekam perubahan dalam kontrol, ketika algoritma injeksi utas (pendakian bukit) menentukan bahwa ada perubahan dalam tingkat konkurensi.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
AverageThroughput win:Double Throughput rata-rata dari sampel pengukuran.
NewWorkerThreadCount win:UInt32 Jumlah baru utas pekerja aktif.
Alasan win:UInt32 Alasan penyesuaian.

0x00 - Warmup.

0x01 - Initializing.

0x02 - Random move.

0x03 - Climbing move.

0x04 - Change point.

0x05 - Stabilizing.

0x06 - Starvation.

0x07 - Thread timed out.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Deskripsi
ThreadPoolWorkerThreadAdjustmentStats 56 Mengumpulkan data di kumpulan utas.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Durasi win:Double Jumlah waktu, dalam detik, selama statistik ini dikumpulkan.
Throughput win:Double Jumlah rata-rata penyelesaian per detik selama interval ini.
ThreadWave win:Double Dicadangkan untuk penggunaan internal.
ThroughputWave win:Double Dicadangkan untuk penggunaan internal.
ThroughputErrorEstimate win:Double Dicadangkan untuk penggunaan internal.
AverageThroughputErrorEstimate win:Double Dicadangkan untuk penggunaan internal.
ThroughputRatio win:Double Peningkatan relatif dalam throughput yang disebabkan oleh variasi jumlah thread pekerja aktif selama interval ini.
Keyakinan win:Double Ukuran validitas bidang ThroughputRatio.
NewcontrolSetting win:Double Jumlah utas pekerja aktif yang akan berfungsi sebagai dasar untuk variasi mendatang dalam jumlah utas aktif.
NewThreadWaveMagnitude Win:UInt16 Besarnya variasi mendatang dalam jumlah utas aktif.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

Peristiwa Utas I/O

Peristiwa kumpulan utas ini terjadi untuk utas di kumpulan utas I/O (port penyelesaian), yang tidak sinkron.

IOThreadCreate_V1

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Dimunculkan ketika
IOThreadCreate_V1 44 Utas I/O dibuat di kumpulan utas.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Hitung win:UInt64 Jumlah utas I/O, termasuk utas yang baru dibuat.
NumRetired win:UInt64 Jumlah utas pekerja yang pensiun.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

IOThreadRetire_V1

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Dimunculkan ketika
IOThreadRetire_V1 46 Utas I/O menjadi kandidat penghentian.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Hitung win:UInt64 Jumlah utas I/O yang tersisa di kumpulan utas.
NumRetired win:UInt64 Jumlah utas I/O yang dihentikan.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

IOThreadUnretire_V1

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Dimunculkan ketika
IOThreadUnretire_V1 47 Utas I/O tidak dihentikan karena I/O yang tiba dalam masa tunggu setelah utas menjadi kandidat pemberhentian.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Hitung win:UInt64 Jumlah utas I/O di kumpulan utas, termasuk yang ini.
NumRetired win:UInt64 Jumlah utas I/O yang dihentikan.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

IOThreadTerminate

Tabel berikut menunjukkan kata kunci dan level.

Kata kunci untuk memunculkan peristiwa Tingkat
ThreadingKeyword (0x10000) Informasi (4)

Tabel berikut menunjukkan informasi peristiwa.

Kejadian ID Peristiwa Dimunculkan ketika
IOThreadTerminate 45 Utas I/O diakhiri di kumpulan utas.

Tabel berikut menunjukkan data peristiwa.

Nama bidang Jenis data Deskripsi
Hitung win:UInt64 Jumlah utas I/O yang tersisa di kumpulan utas.
NumRetired win:UInt64 Jumlah utas I/O yang dihentikan.
ClrInstanceID Win:UInt16 ID unik untuk instans CLR atau CoreCLR.

Lihat juga