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:

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.

  1. Application Insights’ı ve sonra aboneliğinizi seçin.

  2. 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

  3. 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.

    Başarısız istekler paneli

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

    Başarısız istekler penceresi

  5. 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 örnekleri

  6. 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.

    Başarısız istek ayrıntıları

  7. İş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.

    Özel durum ayrıntıları

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.

  1. Özel durumun özelliklerinden Hata ayıklama anlık görüntüsünü aç’a tıklayın.

  2. İ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.

    Hata ayıklama anlık görüntüsü

  3. 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.

    Kodda düzeltilmesi gereken bir hata gösteren ekran görüntüsü.

  4. 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.

  5. Anlık görüntü Visual Studio'ya yüklenir.

  6. 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.

    Kodda özel durum

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.

  1. Application Insights tarafından sağlanan telemetri verilerini görüntülemek için kodun üzerindeki CodeLens bilgilerine tıklayın.

    Kod

  2. 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.

    ekran görüntüsü, birkaç sorgu içeren Application Insights penceresini gösterir.

İş öğ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.

  1. Application Insights’taki Özel Durum Özellikleri paneline dönün.

  2. Yeni İş Öğesi’ne tıklayın.

  3. 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.

    Yeni İş Öğesi

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.