⁧⁩مراقبة وتشخيص الخدمات في إعداد تطوير الجهاز المحلي⁧⁩

تتيح المراقبة والكشف والتشخيص واستكشاف الأخطاء وإصلاحها استمرار الخدمات بأقل قدر من التعطيل لتجربة المستخدم. في حين أن المراقبة والتشخيص أمران حاسمان في بيئة الإنتاج الفعلية الموزَّعة، فإن الكفاءة ستعتمد على اعتماد نموذج مماثل أثناء تطوير الخدمات للتأكد من أنها تعمل عندما تنتقل إلى إعداد في العالم الحقيقي. تسهل Service Fabric على مطوري الخدمة تنفيذ التشخيصات التي يمكنها العمل بسلاسة عبر كل من إعدادات التطوير المحلي لجهاز واحد وإعدادات نظام مجموعة الإنتاج الواقعية.

تتبع الأحداث لـ Windows

Event Tracing لـWindows (ETW) هي التقنية الموصى بها لتتبع الرسائل في Service Fabric. بعض ميزات استخدام ETW هي:

  • ETW سريع. تم بناؤه كتقنية تتبع لها تأثير ضئيل على أوقات تنفيذ التعليمة البرمجية.
  • يعمل تتبع ETW بسلاسة عبر بيئات التطوير المحلية وأيضاً إعدادات نظام المجموعة في العالم الحقيقي. هذا يعني أنك لست مضطراً إلى إعادة كتابة التعليمة البرمجية الخاصة بك للتتبع عندما تكون جاهزاً لتوزيع التعليمات البرمجية الخاصة بك إلى مجموعة حقيقية.
  • تستخدم التعليمة البرمجية لنظام Service Fabric أيضاً ETW للتتبع الداخلي. يتيح لك ذلك عرض تتبعات تطبيقك المتداخلة باستخدام تتبعات نظام Service Fabric. كما أنه يساعدك على فهم التسلسلات والعلاقات المتبادلة بين التعليمة البرمجية للتطبيق والأحداث في النظام الأساسي بسهولة أكبر.
  • يوجد دعم مدمج في أدوات Service Fabric Visual Studio لعرض أحداث ETW. تظهر أحداث ETW في عرض الأحداث التشخيصية لبرنامج Visual Studio بمجرد تكوين Visual Studio بشكل صحيح باستخدام Service Fabric.

عرض أحداث نظام Service Fabric في Visual Studio

ترسل Service Fabric أحداث ETW لمساعدة مطوري التطبيقات على فهم ما يحدث في النظام الأساسي. إذا لم تكن قد قمت بذلك بالفعل، فتابع واتبع الخطوات الواردة في إنشاء تطبيقك الأول في Visual Studio. ستساعدك هذه المعلومات في الحصول على تطبيق وتشغيله باستخدام Diagnostics Events Viewer الذي يعرض رسائل التتبع.

  1. إذا لم تظهر نافذة أحداث التشخيص تلقائياً، فانتقل إلى علامة التبويب View في Visual Studio، واختر Other Windows ثم Diagnostic Events Viewer.

  2. يحتوي كل حدث على معلومات بيانات وصفية قياسية تخبرك بالعقدة والتطبيق والخدمة التي يأتي منها الحدث. يمكنك أيضاً تصفية قائمة الأحداث باستخدام مربع Filter events أعلى نافذة الأحداث. على سبيل المثال، يمكنك التصفية على Node Name أو Service Name. وعندما تبحث في تفاصيل الحدث، يمكنك أيضاً التوقف مؤقتاً باستخدام الزر Pause في الجزء العلوي من نافذة الأحداث واستئنافها لاحقاً دون أي خسارة للأحداث.

    عارض أحداث تشخيص Visual Studio

إضافة تتبعاتك المخصصة إلى التعليمة البرمجية للتطبيق

تحتوي قوالب مشروع Service Fabric Visual Studio على عينة التعليمات البرمجية. توضح التعليمة البرمجية كيفية إضافة تتبعات ETW للتعليمة البرمجية للتطبيق المخصص والتي تظهر في عارض Visual Studio ETW جنباً إلى جنب مع تتبعات النظام من Service Fabric. تتمثل ميزة هذه الطريقة في إضافة البيانات الوصفية تلقائياً إلى عمليات التتبع، ويكون Visual Studio Diagnostic Events Viewer مُكوَّناً بالفعل لعرضها.

بالنسبة للمشروعات المُنشأة من قوالب الخدمة (عديمة الحالة أو ذات الحالة) ابحث فقط عن التنفيذ RunAsync:

  1. يُظهر اتصال ServiceEventSource.Current.ServiceMessage في طريقة RunAsync مثالاً لتتبع ETW مخصص من التعليمة البرمجية للتطبيق.
  2. في ملف ServiceEventSource.cs، ستجد حملاً زائداً للطريقة ServiceEventSource.ServiceMessage التي يجب استخدامها للأحداث عالية التكرار لأسباب تتعلق بالأداء.

بالنسبة للمشروعات المُنشأة من قوالب المستخدم (عديمة الحالة أو ذات الحالة):

  1. افتح ملف "ProjectName".cs حيث يكون ProjectName هو الاسم الذي اخترته لمشروع Visual Studio الخاص بك.
  2. ابحث عن التعليمة البرمجية ActorEventSource.Current.ActorMessage(this, "Doing Work"); في طريقة DoWorkAsync. هذا مثال على تتبع ETW مخصص مكتوب من التعليمة البرمجية للتطبيق.
  3. في الملف ActorEventSource.cs، ستجد حملاً زائداً للطريقة ActorEventSource.ActorMessage التي يجب استخدامها للأحداث عالية التكرار لأسباب تتعلق بالأداء.

بعد إضافة تتبع ETW المخصص إلى التعليمة البرمجية للخدمة الخاصة بك، يمكنك إنشاء التطبيق وتوزيعه وتشغيله مرة أخرى لمشاهدة الحدث (الأحداث) الخاص بك في Diagnostic Events Viewer. إذا قمت بتتبع أخطاء التطبيق باستخدام F5، فسيتم فتح Diagnostic Events Viewer تلقائياً.

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

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