وصفات المراقبة: Compodoc و Devtools و Sentry و AsyncLocalStorage
وصفات المراقبة: Compodoc و Devtools و Sentry و AsyncLocalStorage
تحتاج فرق NestJS الإنتاجية إلى رؤية المعمارية وسلوك وقت التشغيل. يوثق Compodoc الوحدات والأصناف، وتعرض NestJS Devtools الرسم، ويلتقط Sentry الإخفاقات، وتحمل AsyncLocalStorage سياق الطلب عبر الاستدعاءات غير المتزامنة.
الفكرة الأساسية
تدور هذه الميزة حول التحكم في كيفية تنظيم التطبيق وسلوكه وقت التشغيل. النقاط التالية هي ما يجب أن يعرفه المطور قبل استخدامها في مشروع حقيقي:
- ينشئ Compodoc توثيقاً تقنياً قابلاً للقراءة من مزخرفات TypeScript والتعليقات.
- تساعد NestJS Devtools في تفقد الوحدات والمزوّدات والمسارات وعلاقات الرسم.
- ينبغي أن يلتقط تكامل Sentry الاستثناءات مع معرفات الطلب ومعرفات المستخدم حيث يكون آمناً وإصدارات الإطلاق.
- تخزن AsyncLocalStorage سياقاً لكل طلب مثل معرف الارتباط دون تمرير المعاملات عبر كل دالة.
- ينبغي تهيئة انتشار السياق عند حافة الطلب وقراءته من خدمات التسجيل والتتبع والتدقيق.
مثال عملي
يوضح المثال التالي الشكل العملي للفكرة داخل مشروع NestJS. ليست الغاية حفظ الكود، بل فهم مكانه في المعمارية:
قائمة تطبيق إنتاجية
- ولّد توثيقاً معمارياً للفرق الكبيرة باستخدام Compodoc.
- استخدم Devtools أو فحص الرسم عندما تصبح اعتماديات الوحدات مربكة.
- أرفق الإصدار وسياق الطلب بأحداث Sentry.
- انشر معرفات الارتباط عبر السجلات واتصالات HTTP الخارجية ورسائل الوسيط.
الخلاصة
يغطي هذا الدرس جزءاً متقدماً من NestJS يجب فهمه عند بناء تطبيقات مؤسسية. ركّز على الحدود الواضحة، والسلوك القابل للاختبار، واختيار الأداة المناسبة للسياق بدلاً من استخدام كل ميزة في كل مكان.