Diagnostik dan pemantauan performa untuk Reliable Actors

Runtime Reliable Actors mengeluarkan peristiwa EventSource dan penghitung performa. Ini memberikan wawasan tentang bagaimana runtime beroperasi dan membantu pemecahan masalah dan pemantauan performa.

Peristiwa EventSource

Nama penyedia layanan EventSource untuk runtime Reliable Actors adalah "Microsoft-ServiceFabric-Actors". Peristiwa dari sumber peristiwa ini muncul di jendela Peristiwa Diagnostik saat actor application sedang di-debug di Visual Studio.

Contoh alat dan teknologi yang membantu dalam mengumpulkan dan/atau melihat peristiwa EventSource adalah PerfView, Azure Diagnostics, Semantic Logging, dan Microsoft TraceEvent Library.

Kata Kunci

Semua peristiwa yang termasuk dalam EventSource Reliable Actors dikaitkan dengan satu atau beberapa kata kunci. Ini memungkinkan pemfilteran peristiwa yang dikumpulkan. Bit kata kunci berikut didefinisikan.

Bit Deskripsi
0x1 Serangkaian peristiwa penting yang meringkas pengoperasian runtime Fabric Actors.
0x2 Kumpulan peristiwa yang menjelaskan panggilan actor method. Untuk informasi selengkapnya, lihat pengenalan topik tentang pelaku.
0x4 Kumpulan peristiwa yang terkait dengan actor state. Untuk informasi selengkapnya, lihat topik tentang manajemen actor state.
0x8 Serangkaian peristiwa yang terkait dengan konkurensi berbasis giliran pada actor. Untuk informasi selengkapnya, lihat topik di konkurensi.

Penghitung kinerja

Runtime Reliable Actors menentukan kategori penghitung performa berikut.

Golongan Deskripsi
Service Fabric Actor Penghitung khusus untuk Azure Service Fabric actors, misalnya waktu yang diambil untuk menyimpan actor state
Service Fabric Actor Method Penghitung khusus untuk metode yang diterapkan oleh Service Fabric actors, misalnya seberapa sering actor method dipanggil

Masing-masing kategori di atas memiliki satu atau beberapa penghitung.

Aplikasi Windows Performance Monitor yang tersedia secara default dalam sistem operasi Windows dapat digunakan untuk mengumpulkan dan melihat data penghitung performa. Azure Diagnostics adalah opsi lain untuk mengumpulkan data penghitung performa dan mengunggahnya ke tabel Azure.

Nama instans penghitung kinerja

Kluster yang memiliki sejumlah besar actor services atau actor service partitions akan memiliki sejumlah besar instans penghitung actor performance. Nama instans penghitung prforma dapat membantu dalam mengidentifikasi partisi dan actor method tertentu (jika berlaku) yang dikaitkan dengan instans penghitung performa.

Kategori Service Fabric Actor

Untuk kategori Service Fabric Actor, nama instans penghitung dalam format berikut:

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID adalah representasi string dari ID partisi Service Fabric yang dikaitkan dengan instans penghitung kinerja. ID partisi adalah GUID, dan representasi untai (karakter) yang dihasilkan melalui metode Guid.ToString dengan format penentu "D".

ActorRuntimeInternalID adalah representasi string dari bilangan bulat 64-bit yang dihasilkan oleh runtime Fabric Actors untuk penggunaan internalnya. Ini termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa lainnya. Pengguna tidak boleh mencoba menafsirkan bagian ini dari nama instans penghitung kinerja.

Berikut contoh nama instans penghitung untuk penghitung yang termasuk dalam kategori Service Fabric Actor:

2740af29-78aa-44bc-a20b-7e60fb783264_635650083799324046

Dalam contoh di atas, 2740af29-78aa-44bc-a20b-7e60fb783264 adalah representasi string dari ID partisi Service Fabric, 635650083799324046 dan merupakan ID 64-bit yang dihasilkan untuk penggunaan internal runtime.

Kategori Service Fabric Actor Method

Untuk kategori Service Fabric Actor Method, nama instans penghitung dalam format berikut:

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName adalah nama actor method yang dikaitkan dengan instans penghitung performa. Format nama metode ditentukan berdasarkan beberapa logika dalam runtime Fabric Actors yang menyeimbangkan keterbacaan nama dengan batasan pada panjang maksimal nama instans penghitung performa pada Windows.

ActorsRuntimeMethodId adalah representasi string dari bilangan bulat 32-bit yang dihasilkan oleh runtime Fabric Actors untuk penggunaan internalnya. Ini termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa lainnya. Pengguna tidak boleh mencoba menafsirkan bagian ini dari nama instans penghitung kinerja.

ServiceFabricPartitionID adalah representasi string dari ID partisi Service Fabric yang dikaitkan dengan instans penghitung kinerja. ID partisi adalah GUID, dan representasi untai (karakter) yang dihasilkan melalui metode Guid.ToString dengan format penentu "D".

ActorRuntimeInternalID adalah representasi string dari bilangan bulat 64-bit yang dihasilkan oleh runtime Fabric Actors untuk penggunaan internalnya. Ini termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa lainnya. Pengguna tidak boleh mencoba menafsirkan bagian ini dari nama instans penghitung kinerja.

Berikut contoh nama instans penghitung untuk penghitung yang termasuk dalam kategori Service Fabric Actor Method:

ivoicemailboxactor.leavemessageasync_2_89383d32-e57e-4a9b-a6ad-57c6792aa521_635650083804480486

Dalam contoh di atas, ivoicemailboxactor.leavemessageasync adalah nama metode, 2 adalah ID 32-bit yang dihasilkan untuk penggunaan internal runtime, 89383d32-e57e-4a9b-a6ad-57c6792aa521 adalah representasi string dari ID partisi Service Fabric, 635650083804480486 dan merupakan ID 64-bit yang dihasilkan untuk penggunaan internal runtime.

Daftar kegiatan dan penghitung performa

Peristiwa Actor method dan penghitung performa

Runtime Reliable Actors memancarkan peristiwa berikut yang terkait dengan actor methods.

Nama kejadian ID Peristiwa Tingkat Kata kunci Deskripsi
ActorMethodStart 7 Verbose 0x2 Actors runtime akan memanggil actor method.
ActorMethodStop 8 Verbose 0x2 Actor method telah selesai dieksekusi. Artinya, panggilan asinkron runtime ke actor method telah kembali, dan tugas yang dikembalikan oleh actor method telah selesai.
ActorMethodThrewException 9 Peringatan 0x3 Pengecualian dilemparkan selama eksekusi actor method, baik selama panggilan asinkron runtime ke actor method atau selama pelaksanaan tugas yang dikembalikan oleh actor method. Peristiwa ini menunjukkan semacam kegagalan dalam actor code yang perlu diselidiki.

Runtime Reliable Actors menerbitkan penghitung performa berikut terkait dengan eksekusi actor methods.

Nama kategori Nama penghitung Deskripsi
Service Fabric Actor Method Pemanggilan/Detik Berapa kali actor service method dipanggil per detik
Service Fabric Actor Method Rata-rata milidetik setiap pemanggilan Waktu yang diperlukan untuk menjalankan actor service method dalam milidetik
Service Fabric Actor Method Pengecualian dilemparkan/Detik Berapa kali actor service method melemparkan pengecualian per detik

Peristiwa konkurensi dan penghitung performa

Runtime Reliable Actors memancarkan peristiwa berikut yang terkait dengan konkurensi.

Nama kejadian ID Peristiwa Tingkat Kata kunci Deskripsi
ActorMethodCallsWaitingForLock 12 Verbose 0x8 Peristiwa ini ditulis pada awal setiap giliran baru dalam actor. Peristiwa ini berisi jumlah panggilan actor yang tertunda yang menunggu untuk memperoleh kunci per-actor yang memberlakukan konkurensi berbasis giliran.

Runtime Reliable Actors menerbitkan penghitung performa berikut yang terkait dengan konkurensi.

Nama kategori Nama penghitung Deskripsi
Service Fabric Actor # dari panggilan actor menunggu actor lock Jumlah actor calls yang tertunda menunggu untuk memperoleh kunci per-actor yang memberlakukan konkurensi berbasis giliran
Service Fabric Actor Rata-rata milidetik per kunci menunggu Waktu yang diambil (dalam milidetik) untuk memperoleh kunci per-actor yang memberlakukan konkurensi berbasis giliran
Service Fabric Actor Actor lock milidetik rata-rata ditahan Waktu (dalam milidetik) tempat kunci per-actor ditahan

Peristiwa manajemen negara actor dan penghitung performa

Runtime Reliable Actors memancarkan peristiwa berikut yang terkait dengan manajemen actor state.

Nama kejadian ID Peristiwa Tingkat Kata kunci Deskripsi
ActorSaveStateStart 10 Verbose 0x4 Actors runtime akan menyimpan actor state.
ActorSaveStateStop 11 Verbose 0x4 Actors runtime telah selesai menyimpan actor state.

Runtime Reliable Actors menerbitkan penghitung performa berikut yang terkait dengan manajemen actor state.

Nama kategori Nama penghitung Deskripsi
Service Fabric Actor Rata-rata milidetik per operasi status penyimpanan Waktu yang diambil untuk menyimpan actor state dalam milidetik
Service Fabric Actor Rata-rata milidetik per operasi status beban Waktu yang diambil untuk memuat actor state dalam milidetik

Runtime Reliable Actors memancarkan peristiwa berikut yang terkait dengan actor replicas.

Nama kejadian ID Peristiwa Tingkat Kata kunci Deskripsi
ReplicaChangeRoleToPrimary 1 Informasi 0x1 Actor replica berubah peran menjadi Primer. Ini menyiratkan bahwa actors untuk partisi ini akan dibuat di dalam replika ini.
ReplicaChangeRoleFromPrimary 2 Informasi 0x1 Actor replica mengubah peran menjadi non-Primer. Ini menyiratkan bahwa actor untuk partisi ini tidak akan lagi dibuat di dalam replika ini. Tidak ada permintaan baru yang akan dikirimkan kepada actor yang sudah dibuat dalam replika ini. Para actor akan dihancurkan setelah permintaan yang sedang berlangsung selesai.

Peristiwa aktivasi dan penonaktifan actor serta penghitung performa

Runtime Reliable Actors memancarkan peristiwa berikut yang terkait dengan aktivasi dan penonaktifan actor.

Nama kejadian ID Peristiwa Tingkat Kata kunci Deskripsi
ActorActivated 5 Informasi 0x1 Actor telah diaktifkan.
ActorDeactivated 6 Informasi 0x1 Actor telah dinonaktifkan.

Runtime Reliable Actors menerbitkan penghitung performa berikut yang terkait dengan aktivasi dan penonaktifan actor.

Nama kategori Nama penghitung Deskripsi
Service Fabric Actor Rata-rata OnActivateAsync milidetik Waktu yang diperlukan untuk menjalankan metode OnActivateAsync dalam milidetik

Actor meminta penghitung performa pemrosesan

Ketika klien memanggil metode melalui objek proksi actor, itu menghasilkan pesan permintaan yang dikirim melalui jaringan ke actor service. Layanan memproses pesan permintaan dan mengirim respons kembali ke klien. Runtime Reliable Actors menerbitkan penghitung performa berikut yang terkait dengan pemrosesan actor request.

Nama kategori Nama penghitung Deskripsi
Service Fabric Actor # permintaan yang luar biasa Jumlah permintaan yang sedang diproses dalam layanan
Service Fabric Actor Rata-rata milidetik per permintaan Waktu yang diambil (dalam milidetik) oleh layanan untuk memproses permintaan
Service Fabric Actor Rata-rata milidetik untuk deserialisasi permintaan Waktu yang diambil (dalam milidetik) untuk mendeserialisasi pesan permintaan actor ketika diterima di layanan
Service Fabric Actor Milidetik rata-rata untuk serialisasi respons Waktu yang diambil (dalam milidetik) untuk membuat pesan respons actor di layanan sebelum respons dikirim ke klien

Langkah berikutnya