Azure Application Insights ile çalışma zamanı özel durumlarını bulma ve tanılama
Azure Application Insights, uygulamanızdan çalışma zamanı özel durumlarının belirlenip tanılanmasına yardımcı olan telemetri verileri toplar. Bu öğreticide, uygulamanızda bu işlemi gerçekleştirme adımları gösterilir. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:
- Özel durum izlemeyi etkinleştirmek için projenizi değiştirme
- Uygulamanızın farklı bileşenlerine yönelik özel durumları belirleme
- Bir özel durumun ayrıntılarını görüntüleme
- Hata ayıklama için özel durumun anlık görüntüsünü Visual Studio’ya indirme
- Sorgu dilini kullanarak başarısız isteklerin ayrıntılarını analiz etme
- Hatalı kodu düzeltmek için yeni iş öğesi oluşturma
Önkoşullar
Bu öğreticiyi tamamlamak için:
- aşağıdaki iş yükleriyle Visual Studio 2019 ' i yükler:
- ASP.NET ve web geliştirme
- Azure geliştirme
- Visual Studio Snapshot Debugger’ı indirin ve yükleyin.
- Visual Studio Snapshot Debugger’ı etkinleştirme
- Azure’a .NET uygulaması dağıtma ve Application Insights SDK’sını etkinleştirme.
- Bu öğretici uygulamanızdaki bir özel durumun belirlenmesini izlediğinden, geliştirme veya test ortamındaki kodunuzu özel durum oluşturacak şekilde değiştirin.
Azure'da oturum açma
Üzerinde Azure portal oturum açın https://portal.azure.com .
Hataları analiz etme
Application Insights, uygulamanızdaki tüm hataları toplar ve bunların farklı işlemlerdeki sıklığını görüntüleyerek etki düzeyi en yüksek olan hatalara odaklanmanıza yardımcı olur. Daha sonra bu hataların ayrıntılarına inerek kök nedeni belirleyebilirsiniz.
Application Insights’ı ve sonra aboneliğinizi seçin.
Hatalar panelini açmak için Araştır menüsü altından Hatalar’ı seçin veya Başarısız istekler grafiğine tıklayın.

Başarısız istekler panelinde, uygulama için başarısız istek sayısı ve her işlemden etkilenen kullanıcı sayısı gösterilir. Bu bilgileri kullanıcı sayısına göre sıralayarak kullanıcıları en çok etkileyen hataları bulabilirsiniz. Bu örnekte, olası araştırma adayları hata sayısı ve etkilenen kullanıcı sayısı yüksek olan GET Employees/Create ve GET Customers/Details işlemleridir. Bir işlem seçildiğinde, sağdaki panelde işlemle ilgili daha fazla bilgi gösterilir.

Hata oranında ani bir artışın yaşandığı döneme odaklanmak için zaman aralığını daraltın.

Filtrelenmiş sonuç sayısının bulunduğu düğmeye tıklayarak ilgili örneklere göz atın. "Önerilen" örnekler, örnekleme herhangi birinde etkili olmuş olsa bile tüm bileşenler arasından ilgili telemetriye sahiptir. Hata ayrıntılarını görmek için bir arama sonucuna tıklayın.

Başarısız istek ayrıntılarında Gannt grafiği görüntülenir. Grafikte, bu işlemde, işlemin toplam süresinin % 50'sinden fazlasını oluşturan iki adet bağımlılık hatası olduğu gösterilmektedir. Bu deneyim, dağıtılmış bir uygulamanın bileşenleri arasında bu işlem kimliğiyle ilişkili tüm telemetrileri sunar. Yeni deneyim hakkında daha fazla bilgi edinin. Sağ tarafta, ayrıntılarını görmek istediğiniz öğelerden herhangi birini seçebilirsiniz.

İşlemlerin ayrıntısında hataya yol açmış gibi görünen bir FormatException da gösterilir. Sorunun geçersiz bir posta kodundan kaynaklandığını görebilirsiniz. Visual Studio'da kod düzeyinde hata ayıklama bilgilerini görmek için hata ayıklama anlık görüntüsünü açabilirsiniz.

Başarısız olan kodu belirleme
Snapshot Debugger, uygulamanızda en sık karşılaşılan özel durumların anlık görüntülerini toplayarak üretimde sorunun kök nedenini tanılamanıza yardımcı olur. Hata ayıklama anlık görüntülerini portalda görüntüleyerek çağrı yığınını görebilir ve her bir çağrı yığını çerçevesinde değişkenleri inceleyebilirsiniz. daha sonra, anlık görüntüyü indirip Visual Studio 2019 Enterprise ' de açarak kaynak kodda hata ayıklama seçeneğiniz vardır.
Özel durumun özelliklerinden Hata ayıklama anlık görüntüsünü aç’a tıklayın.
İsteğe yönelik çağrı yığınıyla birlikte Hata Ayıklama Anlık Görüntüsü paneli açılır. Tüm yerel değişkenlerin istek sırasında sahip olduğu değerleri görüntülemek için herhangi bir metoda tıklayın. Başta bu örnekte en çok kullanılan metot olmak üzere değeri olmayan yerel değişkenleri görebiliriz.

Geçerli değerlere sahip olan ilk çağrı ValidZipCode çağrısıdır ve posta kodunun bir tamsayıya çevrilemeyen harflerle sağlandığını görebiliriz. Kodda düzeltilmesi gereken hata bu gibi görünüyor.

daha sonra bu anlık görüntüyü, düzeltilmesi gereken gerçek kodu bulabilmemiz için Visual Studio karşıdan yükleme seçeneğiniz vardır. Bunu yapmak için anlık görüntüyü indir' e tıklayın.
Anlık görüntü Visual Studio'ya yüklenir.
artık özel duruma neden olan kod satırını hızlıca tanımlayan Visual Studio Enterprise bir hata ayıklama oturumu çalıştırabilirsiniz.

Analiz verilerini kullanma
Application Insights tarafından toplanan tüm veriler, bunları çeşitli yollarla analiz edebilmeniz için zengin bir sorgu dili sağlayan Azure Log Analytics’te depolanır. Bu verileri kullanarak araştırmakta olduğumuz özel durumu oluşturan istekleri analiz edebiliriz.
Application Insights tarafından sağlanan telemetri verilerini görüntülemek için kodun üzerindeki CodeLens bilgilerine tıklayın.

Etkiyi çözümleyin’e tıklayarak Application Insights Analytics’i açın. Analytics, başarısız isteklerle ilgili olarak etkilenen kullanıcılar, tarayıcılar ve bölgeler gibi ayrıntıları sağlayan çeşitli sorgularla doldurulur.

İş öğesi ekleme
Application Insights’ı Azure DevOps veya GitHub gibi bir izleme sistemine bağlarsanız doğrudan Application Insights’tan bir iş öğesi oluşturabilirsiniz.
Application Insights’taki Özel Durum Özellikleri paneline dönün.
Yeni İş Öğesi’ne tıklayın.
Zaten doldurulan özel durumla ilgili ayrıntıları içeren Yeni İş Öğesi paneli açılır. Bunu kaydetmeden önce dilediğiniz kadar ek bilgi ekleyebilirsiniz.

Sonraki adımlar
Artık çalışma zamanı özel durumlarının nasıl belirleneceğini öğrendiğinize göre, performans sorunlarını belirlemeyi ve tanılamayı öğrenmek için bir sonraki öğreticiye ilerleyebilirsiniz.