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 etmelerine olanak tanır. 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 kodunuz ve 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ünde yer alan 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.
Tanılama olayları penceresi otomatik olarak gösterilmiyorsa Visual Studio'da Görünüm sekmesine gidin, Diğer Windows'u ve ardından Tanılama Olayları Görüntüleyicisi'ni seçin.
Her olayın, olayın geldiği düğümü, uygulamayı ve hizmeti bildiren standart meta veri bilgileri vardır. Ayrıca, olaylar penceresinin üst kısmındaki Olayları filtrele kutusunu kullanarak da olay listesini filtreleyebilirsiniz. Örneğin, Düğüm Adı'nda veya Hizmet Adı'nda filtreleyebilirsiniz. Ayrıca olay ayrıntılarına bakarken, olaylar penceresinin üst kısmındaki Duraklat düğmesini kullanarak da duraklatabilir ve daha sonra olay kaybı yaşamadan devam edebilirsiniz.
Uygulama koduna kendi özel izlemelerinizi ekleme
Service Fabric Visual Studio proje şablonları örnek kod içerir. Kod, Visual Studio ETW görüntüleyicisinde görüntülenen özel uygulama kodu ETW izlemelerinin, Service Fabric'ten sistem izlemelerinin yanı sıra 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 olan) yalnızca uygulamayı arayınRunAsync
:
- yöntemindeki
RunAsync
çağrısıServiceEventSource.Current.ServiceMessage
, uygulama kodundan bir özel ETW izleme örneği gösterir. - 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):
- "ProjectName" .cs dosyasını açın; burada ProjectName, Visual Studio projeniz için seçtiğiniz addır.
- Kodu
ActorEventSource.Current.ActorMessage(this, "Doing Work");
DoWorkAsync yönteminde bulun. Bu, uygulama kodundan yazılmış özel ETW izlemesinin bir örneğidir. - Dosya ActorEventSource.cs, performans nedenleriyle yüksek frekanslı olaylar için
ActorEventSource.ActorMessage
kullanılması gereken yöntemin aşırı yüklemesini bulursunuz.
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.