البحث عن استثناءات وقت التشغيل وتشخيصها باستخدام Application Insights

يجمع Application Insights بيانات تتبع الاستخدام من تطبيقك للمساعدة في تحديد استثناءات وقت التشغيل وتشخيصها. وينقلك هذا البرنامج التعليمي خلال هذا الإجراء مع طلبك المقدم. ستتعلم كيفية:

  • قم بتعديل مشروعك لتمكين تتبع الاستثناءات.
  • تحديد الاستثناءات لمكونات مختلفة من التطبيق الخاص بك.
  • عرض تفاصيل استثناء.
  • قم بتنزيل لقطة من الاستثناء إلى Visual Studio لتصحيح الأخطاء.
  • تحليل تفاصيل الطلبات الفاشلة باستخدام لغة الاستعلام.
  • إنشاء عنصر عمل جديد لتصحيح التعليمات البرمجية الخاطئة.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي:

  • قم بتثبيت Visual Studio 2019 بأحمال العمل التالية:
    • ASP.NET وتطوير الويب
    • تطوير Azure
  • تنزيل وتثبيت Visual Studio Snapshot Debugger .
  • تمكين مصحح أخطاء لقطة Visual Studio
  • نشر تطبيق .NET إلى Azure وتمكين Application Insights SDK
  • قم بتعديل التعليمات البرمجية الخاصة بك في بيئة التطوير أو الاختبار لإنشاء استثناء لأن البرنامج التعليمي يتتبع تحديد استثناء في التطبيق الخاص بك.

تسجيل الدخول إلى Azure

سجل الدخول إلى مدخل Azure.

تحليل حالات الفشل

يجمع Application Insights أي حالات فشل في التطبيق الخاص بك. يتيح لك عرض تكرارها عبر عمليات مختلفة لمساعدتك على تركيز جهودك على تلك المشكلات ذات التأثير الأعلى. يمكنك بعد ذلك التنقل لأسفل حول تفاصيل هذه الإخفاقات لتحديد السبب الجذري.

  1. حدد Application Insights ثم حدد اشتراكك.

  2. لفتح جزء Failures ، حدد Failures ضمن القائمة Investigate أو حدد الرسم البياني Failed requests .

    لقطة شاشة تعرض الطلبات الفاشلة.

  3. يعرض جزء الطلبات الفاشلة عدد الطلبات الفاشلة وعدد المستخدمين المتأثرين لكل عملية للتطبيق. من خلال فرز هذه المعلومات حسب المستخدم، يمكنك تحديد حالات الفشل التي تؤثر بشكل أكبر على المستخدمين. في هذا المثال، من المحتمل أن يكون موظفو GET/Create و GET Customers/Details مرشحين للتحقيق بسبب العدد الكبير من حالات الفشل والمستخدمين المتأثرين. يؤدي تحديد عملية إلى عرض مزيد من المعلومات حول هذه العملية في الجزء الأيمن.

    لقطة شاشة تعرض جزء الطلبات الفاشلة.

  4. قم بتصغير النافذة الزمنية لتكبير الفترة التي يظهر فيها معدل الفشل ارتفاعاً مفاجئاً.

    لقطة شاشة تعرض نافذة الطلبات الفاشلة.

  5. راجع العينات ذات الصلة عن طريق تحديد الزر مع عدد النتائج التي تمت تصفيتها. تحتوي العينات المقترحة على بيانات تتبع الاستخدام ذات صلة من جميع المكونات، حتى لو كان أخذ العينات ساري المفعول في أي منها. حدد نتيجة بحث للاطلاع على تفاصيل الفشل.

    لقطة شاشة تعرض نماذج الطلب الفاشلة.

  6. تظهر تفاصيل الطلب الفاشل مخطط جانت الذي يوضح أنه كان هناك فشلان في التبعية في هذه المعاملة، مما ساهم أيضا في أكثر من 50٪ من إجمالي مدة المعاملة. تقدم هذه التجربة جميع بيانات تتبع الاستخدام عبر مكونات تطبيق موزع مرتبط بمعرف العملية هذا. يمكنك تحديد أي من العناصر لمشاهدة تفاصيلها على الجانب الأيمن.

    لقطة شاشة تعرض تفاصيل الطلب الفاشلة.

  7. تعرض تفاصيل العمليات أيضا استثناء تنسيق، والذي يبدو أنه تسبب في الفشل. يمكنك أن ترى أنه بسبب رمز مضغوط غير صالح. يمكنك فتح لقطة تتبع الأخطاء لمشاهدة معلومات تتبع الأخطاء على مستوى التعليمات البرمجية في Visual Studio.

    لقطة شاشة تعرض تفاصيل الاستثناء.

تحديد التعليمة البرمجية الفاشلة

يجمع Snapshot Debugger لقطات من الاستثناءات الشائعة في تطبيقك لمساعدتك في تشخيص السبب الرئيسي وراء تحقيق الإنتاج. ويمكنك عرض لقطات تصحيح الأخطاء في المدخل لمشاهدة مكدس الاستدعاءات وفحص المتغيرات في إطاره. بعد ذلك، يمكنك تصحيح أخطاء التعليمات البرمجية المصدر عن طريق تنزيل اللقطة وفتحها في Visual Studio 2019 Enterprise.

  1. في خصائص الاستثناء، حدد فتح لقطة تتبع الأخطاء.

  2. يفتح جزء Debug Snapshot مع مكدس الاستدعاءات للطلب. حدد أي أسلوب لعرض قيم جميع المتغيرات المحلية في وقت الطلب. بدءا من الأسلوب العلوي في هذا المثال، يمكنك رؤية المتغيرات المحلية التي ليس لها قيمة.

    لقطة شاشة تعرض جزء لقطة تتبع الأخطاء.

  3. الاستدعاء الأول الذي يحتوي على قيم صالحة هو ValidZipCode. يمكنك أن ترى أنه تم توفير رمز مضغوط مع أحرف لا يمكن ترجمتها إلى عدد صحيح. يبدو أن هذه المشكلة هي الخطأ في التعليمات البرمجية التي يجب تصحيحها.

    لقطة شاشة تعرض خطأ في التعليمات البرمجية التي يجب تصحيحها.

  4. يمكنك بعد ذلك تنزيل هذه اللقطة في Visual Studio حيث يمكنك تحديد موقع التعليمات البرمجية الفعلية التي يجب تصحيحها. للقيام بذلك، حدد Download Snapshot.

  5. وسيتم تحميل اللقطة في Visual Studio.

  6. ويمكنك الآن تشغيل جلسة تصحيح أخطاء في Visual Studio Enterprise تتمكن من معرفة مجموعة أوامر التعليمات البرمجية الذي تسبب في حدوث الاستثناء سريعاً.

    لقطة شاشة تعرض استثناء في التعليمات البرمجية.

استخدام بيانات التحليلات

يتم تخزين جميع البيانات التي تم جمعها بواسطة Application Insights في Azure Log Analytics، والتي توفر لغة استعلام غنية يمكنك استخدامها لتحليل البيانات بطرق مختلفة. يمكنك استخدام هذه البيانات لتحليل الطلبات التي أنشأت الاستثناء الذي تبحث فيه.

  1. حدد معلومات CodeLens أعلى التعليمات البرمجية لعرض بيانات تتبع الاستخدام التي يوفرها Application Insights.

    لقطة شاشة تعرض التعليمات البرمجية في CodeLens.

  2. حدد تحليل التأثير لفتح Application Insights Analytics. يتم ملؤه بالعديد من الاستعلامات التي توفر تفاصيل حول الطلبات الفاشلة، مثل المستخدمين والمستعرضات والمناطق المتأثرة.

    لقطة شاشة تعرض نافذة Application Insights التي تتضمن العديد من الاستعلامات.

إضافة عنصر عمل

إذا قمت بتوصيل Application Insights بنظام تعقب، مثل Azure DevOps أو GitHub، يمكنك إنشاء عنصر عمل مباشرة من Application Insights.

  1. ارجع إلى جزء خصائص الاستثناء في Application Insights.

  2. حدد عنصر عمل جديد.

  3. يفتح جزء New Work Item بتفاصيل حول الاستثناء الذي تم ملؤه بالفعل. يمكنك إضافة مزيد من المعلومات قبل حفظها.

    لقطة شاشة تعرض جزء عنصر العمل الجديد.

الخطوات التالية

الآن بعد أن تعلمت كيفية تحديد استثناءات وقت التشغيل، انتقل إلى البرنامج التعليمي التالي لمعرفة كيفية تحديد مشكلات الأداء وتشخيصها.