Skip to main content

مقدمة

بعد التثبيت، فعّل تتبّع الطلبات لترى ضمن الطلبات في لوحة التحكم كل طلب عالجته خدمتك مع مساره ومدته واستعلاماته واستدعاءاته الخارجية — ولتفتح الطلب الذي تسبّب في أي خطأ. راجع تتبّع الطلبات لما تعرضه لوحة التحكم.

التفعيل

app.module.ts
مع forRootAsync مرّر أيضاً العلامة الثابتة ليُسجَّل المعترض عند بناء الوحدة:
التتبّع معطَّل افتراضياً؛ وعندما يكون معطَّلاً لا يُحمَّل كود التتبّع أصلاً (يقع في جزء منفصل من الحزمة).

ما الذي يُسجَّل

  • نطاق خادم واحد لكل طلب، ينشئه معترض عام ويُسمّى بحسب قالب المسار من مسارَي المتحكّم والمعالج (GET /users/:id) لا بحسب الرابط. البادئة العامة للتطبيق ليست جزءاً من الاسم. تُواصَل ترويسة traceparent الواردة.
  • PostgreSQL — يُعدَّل مشغّل pg الخاص بالتطبيق (يُعثر عليه من مجلد العمل؛ لا يُضاف شيء إلى اعتمادياتك)، وهو ما يغطي Drizzle وTypeORM وKnex وpg المباشر. يصبح كل استعلام نطاق client باسم قالب SQL؛ لا تُسجَّل المعاملات ولا الصفوف أبداً.
  • fetch الخارجي — يصبح كل استدعاء نطاق client باسم METHOD host ويحمل ترويسة traceparent. تُتجاهل الاستدعاءات إلى Lerix API نفسها.
يمكن تعطيل أي من الخطافين:
ويمكن تتبّع أي شيء آخر يدوياً عبر LerixService:
يحتاج النطاق الفرعي إلى طلب ينتمي إليه: خارج الطلب المتتبَّع لا تفعل الخطافات شيئاً.

التتبّع الحالي

معرّف التتبّع متاح في أي مكان داخل الطلب عبر current()، مثلاً لوضعه في سجلاتك:

أخذ العينات

الطلبات الفاشلة والطلبات التي أبلغت عن خطأ تُحفظ كاملةً دائماً. ويُرسل النطاق الجذر لكل طلب مهما كان، فتغطي أعداد المسارات ونسبها المئوية في لوحة التحكم 100% من الحركة.

الأخطاء والتتبّعات

كل تقرير خطأ يُرسل داخل طلب — تقارير المرشّح التلقائي وكذلك استدعاءاتك لـ captureException / captureMessage — يحمل تتبّع ذلك الطلب، فتعرض صفحة المشكلة الشلال مضمَّناً مع تمييز الاستعلام الفاشل. أما الخطأ المُبلَّغ عنه خارج أي طلب (مهمة، فحص عند الإقلاع) فيُسجَّل كالسابق دون تتبّع مرفق.

عناوين العملاء

يحمل كل نطاق طلب عنوان عميله، مُحدَّداً وفق ما يطلبه المشروع ضمن إعدادات المشروع ← التتبّع: في الوضع الافتراضي masked تصفّر حزمة SDK آخر خانة من IPv4 أو تقتطع IPv6 إلى /64 قبل إرسال أي شيء؛ وفي وضعَي hashed وfull يُعالَج العنوان في جانب Lerix. يحدد عدد الوكلاء الموثوقين والترويسة كيفية قراءته من X-Forwarded-For؛ ولا تُوثَق السلسلة كاملةً أبداً.

خيارات المصدّر

تغادر النطاقات بصيغة OTLP/HTTP JSON. إذا تعذّر الوصول إلى Lerix API تُحسب الدفعة وتُسقط؛ لا إعادة محاولة، ولا حجب لأي طلب، ولا استثناء يصل إلى كودك. العدّادات في LerixService.tracing?.stats().

الحِمل الإضافي

بالقياس على مسار بسيط بـ 20,000 طلب متتابع: نحو +30 ميكروثانية في المتوسط لكل طلب (p50 ‏+20 ميكروثانية)، إضافة إلى نحو 5 ميكروثانية لكل استعلام و8 ميكروثانية لكل استدعاء خارجي للخطافات.