Share via


Yerel makine geliştirme kurulumundaki hizmetleri izleme ve tanılama

İzleme, algılama, tanılama ve sorun giderme, hizmetlerin kullanıcı deneyiminde en az kesintiyle devam etmelerini sağlar. Gerçek bir dağıtılmış üretim ortamında izleme ve tanılama kritik öneme sahip olsa da verimlilik, gerçek bir kuruluma geçtiğinizde çalıştıklarından emin olmak için hizmetlerin geliştirilmesi sırasında benzer bir modeli benimsemeye bağlıdır. Service Fabric, hizmet geliştiricilerinin hem tek makineli yerel geliştirme kurulumlarında hem de gerçek dünya üretim kümesi kurulumlarında sorunsuz bir şekilde çalışabilen tanılamalar uygulamasını kolaylaştırır.

Windows için Olay İzleme

Windows için Olay İzleme (ETW), Service Fabric'te iletilerin izlenmesi için önerilen teknolojidir. ETW kullanmanın bazı avantajları şunlardır:

  • ETW hızlıdır. Kod yürütme süreleri üzerinde en az etkiye sahip bir izleme teknolojisi olarak oluşturulmuştu.
  • ETW izleme, yerel geliştirme ortamlarında ve gerçek dünya küme kurulumlarında sorunsuz çalışır. Bu, kodunuzu gerçek bir kümeye dağıtmaya hazır olduğunuzda izleme kodunuzu yeniden yazmanız gerekmeyecek anlamına gelir.
  • Service Fabric sistem kodu ayrıca iç izleme için ETW kullanır. Bu, Service Fabric sistem izlemeleriyle birlikte gelen uygulama izlemelerinizi görüntülemenizi sağlar. Ayrıca, uygulama kodunuzla temel alınan sistemdeki olaylar arasındaki dizileri ve ilişkileri daha kolay anlamanıza yardımcı olur.
  • ETW olaylarını görüntülemek için Service Fabric Visual Studio araçlarında yerleşik destek sağlanır. ETW olayları, Visual Studio Service Fabric ile doğru yapılandırıldıktan sonra Visual Studio'nun Tanılama Olayları görünümünde görünür.

Visual Studio'da Service Fabric sistem olaylarını görüntüleme

Service Fabric, uygulama geliştiricilerinin platformda neler olduğunu anlamasına yardımcı olmak için ETW olayları yayar. Henüz yapmadıysanız Visual Studio'da ilk uygulamanızı oluşturma bölümündeki adımları izleyin. Bu bilgiler, izleme iletilerini gösteren Tanılama Olayları Görüntüleyicisi ile bir uygulamayı çalışır duruma getirmenize yardımcı olur.

  1. Tanılama olayları penceresi otomatik olarak gösterilmiyorsa Visual Studio'daki Görünüm sekmesine gidin, Diğer Windows'u ve ardından Tanılama Olayları Görüntüleyicisi'ni seçin.

  2. Her olayın, olayın geldiği düğümü, uygulamayı ve hizmeti bildiren standart meta veri bilgileri vardır. Olaylar penceresinin üst kısmındaki Olayları filtrele kutusunu kullanarak da olay listesini filtreleyebilirsiniz. Örneğin, Düğüm Adı veya Hizmet Adı'nda filtreleyebilirsiniz. Olay ayrıntılarına bakarken, olaylar penceresinin üst kısmındaki Duraklat düğmesini kullanarak da duraklatabilir ve daha sonra hiçbir olay kaybı yaşamadan devam edebilirsiniz.

    Visual Studio Tanılama Olay Görüntüleyicisi

Uygulama koduna kendi özel izlemelerinizi ekleme

Service Fabric Visual Studio proje şablonları örnek kod içerir. Kod, Service Fabric'ten gelen sistem izlemelerinin yanı sıra Visual Studio ETW görüntüleyicisinde görünen özel uygulama kodu ETW izlemelerinin nasıl ekleneceğini gösterir. Bu yöntemin avantajı, meta verilerin izlemelere otomatik olarak eklenmesi ve Visual Studio Tanılama Olayları Görüntüleyicisi'nin bunları görüntülemek için zaten yapılandırılmış olmasıdır.

Hizmet şablonlarından oluşturulan projeler için (durum bilgisi olmayan veya durum bilgisi olmayan) yalnızca uygulamayı arayınRunAsync:

  1. yöntemindeki RunAsync çağrısıServiceEventSource.Current.ServiceMessage, uygulama kodundan özel ETW izlemesinin bir örneğini gösterir.
  2. ServiceEventSource.cs dosyasında, performans nedenleriyle yüksek frekanslı olaylar için ServiceEventSource.ServiceMessage kullanılması gereken yöntemin aşırı yüklemesini bulacaksınız.

Aktör şablonlarından oluşturulan projeler için (durum bilgisi olmayan veya durum bilgisi olan):

  1. "ProjectName".cs dosyasını açın; burada ProjectName, Visual Studio projeniz için seçtiğiniz addır.
  2. Kodu ActorEventSource.Current.ActorMessage(this, "Doing Work");DoWorkAsync yönteminde bulun. Bu, uygulama kodundan yazılmış özel ETW izlemesine bir örnektir.
  3. ActorEventSource.cs dosyasında, performans nedenleriyle yüksek frekanslı olaylar için ActorEventSource.ActorMessage kullanılması gereken yöntemin aşırı yüklemesini bulacaksınız.

Hizmet kodunuz için özel ETW izlemesi ekledikten sonra, Tanılama Olayları Görüntüleyicisi'nde olaylarınızı görmek için uygulamayı yeniden derleyebilir, dağıtabilir ve çalıştırabilirsiniz. F5 ile uygulamada hata ayıklarsanız Tanılama Olayları Görüntüleyicisi otomatik olarak açılır.

Sonraki adımlar

Yerel tanılama için yukarıdaki uygulamanıza eklediğiniz izleme kodu, uygulamanızı bir Azure kümesinde çalıştırırken bu olayları görüntülemek için kullanabileceğiniz araçlarla çalışır. Araçlar için farklı seçenekleri açıklayan ve bunları nasıl ayarlayabileceğinizi açıklayan bu makalelere göz atın.