Application Insights ile çalışma zamanı özel durumlarını bulma ve tanılama

Application Insights, çalışma zamanı özel durumlarını tanımlamaya ve tanılamaya yardımcı olmak için uygulamanızdan telemetri 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ştirin.
  • Uygulamanızın farklı bileşenleri için özel durumları belirleyin.
  • Özel durumun ayrıntılarını görüntüleyin.
  • Hata ayıklama için özel durumun anlık görüntüsünü Visual Studio'ya indirin.
  • Sorgu dilini kullanarak başarısız isteklerin ayrıntılarını analiz edin.
  • Hatalı kodu düzeltmek için yeni bir iş öğesi oluşturun.

Ön koşullar

Bu öğreticiyi tamamlamak için:

  • Visual Studio 2019'u aşağıdaki iş yükleriyle yükleyin:
    • ASP.NET ve web geliştirme
    • Azure geliştirme
  • Visual Studio Snapshot Debugger’ı indirin ve yükleyin.
  • Visual Studio Anlık Görüntü Hata Ayıklayıcısını Etkinleştirme
  • .NET uygulamasını Azure'a dağıtma ve Application Insights SDK'sını etkinleştirme
  • Öğretici uygulamanızdaki bir özel durumun tanımlanmasını izlediğinden, geliştirme veya test ortamınızdaki kodunuzu özel durum oluşturacak şekilde değiştirin.

Azure'da oturum açma

Azure Portal’ında oturum açın.

Hataları analiz etme

Application Insights, uygulamanızdaki hataları toplar. Çalışmalarınızı en yüksek etkiye sahip sorunlara odaklamanıza yardımcı olmak için farklı işlemlerdeki sıklıklarını görüntülemenize olanak tanır. Ardından, kök nedeni belirlemek için bu hataların ayrıntılarına gidebilirsiniz.

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

  2. Hatalar bölmesini açmak için Araştır menüsünün altında Hatalar'ı seçin veya Başarısız istekler grafiğini seçin.

    Başarısız istekleri gösteren ekran görüntüsü.

  3. Başarısız istekler bölmesi, başarısız isteklerin sayısını ve uygulama için her işlemden etkilenen kullanıcı sayısını gösterir. Bu bilgileri kullanıcıya göre sıralayarak, kullanıcıları en çok etkileyen hataları belirleyebilirsiniz. Bu örnekte GET Çalışanları/Oluşturma ve GET Müşterileri/Ayrıntıları , çok sayıda hata ve etkilenen kullanıcı nedeniyle araştırma yapmaya adaydır. Bir işlem seçildiğinde sağ bölmede bu işlem hakkında daha fazla bilgi gösterilir.

    Başarısız istekler bölmesini gösteren ekran görüntüsü.

  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 penceresini gösteren ekran görüntüsü.

  5. Filtrelenen sonuçların sayısını içeren düğmeyi seçerek ilgili örneklere bakın. Önerilen örnekler, örnekleme herhangi birinde etkin olsa bile tüm bileşenlerden ilgili telemetriye sahiptir. Hatanın ayrıntılarını görmek için bir arama sonucu seçin.

    Başarısız istek örneklerini gösteren ekran görüntüsü.

  6. Başarısız isteğin ayrıntıları, bu işlemde iki bağımlılık hatası olduğunu ve bu da işlemin toplam süresinin %50'sinden fazlasına katkıda bulunduğunu gösteren Gantt grafiğini gösterir. Bu deneyim, dağıtılmış bir uygulamanın bu işlem kimliğiyle ilgili bileşenleri arasında tüm telemetri verilerini sunar. Sağ tarafta ayrıntılarını görmek için öğelerden herhangi birini seçebilirsiniz.

    Başarısız istek ayrıntılarını gösteren ekran görüntüsü.

  7. İşlem ayrıntıları, hataya neden olmuş gibi görünen bir biçim özel durumu da gösterir. Bunun geçersiz bir Posta Kodu nedeniyle olduğunu 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ını gösteren ekran görüntüsü.

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'da açarak kaynak kodun hatalarını ayıklayabilirsiniz.

  1. Özel durumun özelliklerinde Hata ayıklama anlık görüntüsünü aç'ı seçin.

  2. İstek için çağrı yığınıyla birlikte Hata Ayıklama Anlık Görüntüsü bölmesi açılır. İstek sırasında tüm yerel değişkenlerin değerlerini görüntülemek için herhangi bir yöntem seçin. Bu örnekteki en üst yöntemden başlayarak değeri olmayan yerel değişkenleri görebilirsiniz.

    Anlık Görüntü Hatalarını Ayıkla bölmesini gösteren ekran görüntüsü.

  3. Geçerli değerlere sahip ilk çağrı ValidZipCode'dur. Posta Kodunun tamsayıya çevrilemez harflerle sağlandığını görebilirsiniz. Bu sorun, düzeltilmesi gereken koddaki hata gibi görünüyor.

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

  4. Daha sonra bu anlık görüntüyü Visual Studio'ya indirebilir ve burada düzeltilmesi gereken gerçek kodu bulabilirsiniz. Bunu yapmak için Anlık Görüntüyü İndir'i seçin.

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

  6. Artık Visual Studio Enterprise özel duruma neden olan kod satırını hızla tanımlayan bir hata ayıklama oturumu çalıştırabilirsiniz.

    Kodda bir özel durum gösteren ekran görüntüsü.

Analiz verilerini kullanma

Application Insights tarafından toplanan tüm veriler, verileri çeşitli yollarla analiz etmek için kullanabileceğiniz zengin bir sorgu dili sağlayan Azure Log Analytics'te depolanır. Araştırdığınız özel durumu oluşturan istekleri analiz etmek için bu verileri kullanabilirsiniz.

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

    CodeLens'te kodu gösteren ekran görüntüsü.

  2. Application Insights Analytics'i açmak için Etkiyi analiz et'i seçin. Etkilenen kullanıcılar, tarayıcılar ve bölgeler gibi başarısız isteklerle ilgili ayrıntıları sağlayan çeşitli sorgularla doldurulur.

    Birkaç sorgu içeren Application Insights penceresini gösteren ekran görüntüsü.

İş öğ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'ta Özel Durum Özellikleri bölmesine dönün.

  2. Yeni İş Öğesi'ni seçin.

  3. Özel durumla ilgili ayrıntıların zaten doldurulmuş olduğu Yeni İş Öğesi bölmesi açılır. Kaydetmeden önce daha fazla bilgi ekleyebilirsiniz.

    Yeni İş Öğesi bölmesini gösteren ekran görüntüsü.

Sonraki adımlar

Çalışma zamanı özel durumlarını tanımlamayı öğrendiğinize göre, performans sorunlarını tanımlamayı ve tanılamayı öğrenmek için sonraki öğreticiye ilerleyin.