Pantau dan diagnosis layanan di penyiapan pengembangan komputer lokal

Pemantauan, deteksi, diagnosis, dan pemecahan masalah memungkinkan layanan terus berfungsi dengan gangguan minimal terhadap pengalaman pengguna. Meskipun pemantauan dan diagnostik sangat penting dalam lingkungan produksi yang diterapkan secara aktual, efisiensi akan bergantung pada adopsi model serupa selama pengembangan layanan untuk memastikannya berfungsi ketika Anda pindah ke pengaturan dunia nyata. Service Fabric memudahkan pengembang layanan untuk menerapkan diagnostik yang dapat dengan mulus bekerja di pengaturan pengembangan lokal satu komputer dan penyiapan kluster produksi dunia nyata.

Penelusuran Peristiwa untuk Windows

Event Tracing for Windows (ETW) adalah teknologi yang direkomendasikan untuk melacak pesan di Service Fabric. Beberapa manfaat menggunakan ETW adalah:

  • ETW berlangsung cepat. Ini dibangun sebagai teknologi pelacakan yang memiliki dampak minimal pada waktu eksekusi kode.
  • Pelacakan ETW bekerja dengan mulus di seluruh lingkungan pengembangan lokal dan juga pengaturan kluster dunia nyata. Artinya Anda tidak perlu meregenerasi kode pelacakan ketika Anda siap untuk menyebarkan kode Anda ke kluster nyata.
  • Kode sistem Service Fabric juga menggunakan ETW untuk pelacakan internal. Ini memungkinkan Anda melihat jejak aplikasi Anda yang terjalin dengan jejak sistem Service Fabric. Ini juga membantu Anda untuk lebih mudah memahami urutan dan keterkaitan antara kode aplikasi Anda dan peristiwa dalam sistem yang mendasarinya.
  • Ada dukungan bawaan dalam alat Service Fabric Visual Studio untuk melihat acara ETW. Peristiwa ETW muncul di tampilan Diagnostic Events Visual Studio setelah Visual Studio dikonfigurasi secara benar dengan Service Fabric.

Melihat peristiwa sistem Service Fabric di Visual Studio

Service Fabric memancarkan peristiwa ETW untuk membantu pengembang aplikasi memahami apa yang terjadi di platform. Jika Anda belum melakukannya, lanjutkan dan ikuti langkah-langkah dalam Membuat aplikasi pertama Anda di Visual Studio. Informasi ini akan membantu Anda menyiapkan dan menjalankan aplikasi dengan Penampil Diagnostic Events yang memperlihatkan pesan jejak.

  1. Jika jendela peristiwa diagnostik tidak ditampilkan secara otomatis, Buka tab Tampilan di Visual Studio, pilih Jendela Lainnya lalu Penampil Diagnostic Events.

  2. Setiap peristiwa memiliki informasi metadata standar yang memberi tahu Anda node, aplikasi, dan layanan tempat peristiwa berasal. Anda juga bisa memfilter daftar acara dengan menggunakan kotak Filter peristiwa di bagian atas jendela peristiwa. Misalnya, Anda dapat memfilter Nama Node atau Nama Layanan. Dan saat Anda melihat detail peristiwa, Anda juga dapat menjeda dengan menggunakan tombol Jeda di bagian atas jendela acara dan lanjutkan nanti tanpa kehilangan peristiwa.

    Penampil Peristiwa Visual Studio Diagnostics

Menambahkan jejak kustom Anda sendiri ke kode aplikasi

Templat proyek Service Fabric Visual Studio berisi kode sampel. Kode ini menunjukkan cara menambahkan jejak ETW kode aplikasi kustom yang muncul di penampil Visual Studio ETW bersama jejak sistem dari Service Fabric. Keuntungan dari metode ini adalah bahwa metadata secara otomatis ditambahkan ke jejak, dan Penampil Visual Studio Diagnostic Events sudah dikonfigurasi untuk menampilkannya.

Untuk proyek yang dibuat dari templat layanan (stateless atau stateful) cukup cari implementasi RunAsync:

  1. Panggilan ke ServiceEventSource.Current.ServiceMessage dalam metode RunAsync menunjukkan contoh jejak ETW kustom dari kode aplikasi.
  2. Dalam file ServiceEventSource.cs, Anda akan menemukan kelebihan beban untuk metode ServiceEventSource.ServiceMessage yang harus digunakan untuk peristiwa frekuensi tinggi karena alasan performa.

Untuk proyek yang dibuat dari templat actor (stateless atau stateful):

  1. Buka file "ProjectName" .cs, dengan projectName adalah nama yang Anda pilih untuk proyek Visual Studio Anda.
  2. Cari kode ActorEventSource.Current.ActorMessage(this, "Doing Work"); dalam metode DoWorkAsync. Ini adalah contoh jejak ETW kustom yang ditulis dari kode aplikasi.
  3. Dalam file ActorEventSource.cs, Anda akan menemukan kelebihan beban untuk metode ActorEventSource.ActorMessage yang harus digunakan untuk peristiwa frekuensi tinggi karena alasan performa.

Setelah menambahkan pelacakan ETW kustom ke kode layanan, Anda dapat membuat, menerapkan, dan menjalankan aplikasi lagi untuk melihat peristiwa Anda di Penampil Diagnostic Event. Jika Anda mendebug aplikasi dengan F5, Penampil Diagnostic Event akan terbuka secara otomatis.

Langkah berikutnya

Kode penelusuran yang sama dengan yang Anda tambahkan ke aplikasi di atas untuk diagnostik lokal akan berfungsi dengan alat yang dapat Anda gunakan untuk melihat peristiwa ini saat menjalankan aplikasi Anda di kluster Azure. Lihat artikel ini yang membahas berbagai opsi untuk alat dan jelaskan cara menyiapkannya.