Skip to main content

مقدمة

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

التفعيل

التتبّع معطَّل افتراضياً؛ وعندما يكون معطَّلاً لا تُستورد حزمة lerix.tracing ولا يُثبَّت أي خطاف. يأتي نطاق الطلب نفسه من تكامل إطار العمل الذي سجّلته مسبقاً:

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

  • نطاق خادم واحد لكل طلب، يُسمّى بحسب قالب المسار لا المسار الخام. تُواصَل ترويسة traceparent الواردة وفق معيار W3C.
  • PostgreSQL — psycopg (الإصدار 3) وpsycopg2، وبالتالي Django وSQLAlchemy على Postgres أيضاً. يصبح كل استعلام نطاق client باسم قالب SQL ‏(SELECT * FROM users WHERE id = ?)؛ لا تُسجَّل المعاملات ولا الصفوف.
  • HTTP الخارجي — httpx (المتزامن وغير المتزامن) وrequests. يصبح كل استدعاء نطاق client باسم METHOD host ويحمل ترويسة traceparent لتواصل الخدمة اللاحقة التتبّع. تُتجاهل الاستدعاءات إلى Lerix API نفسها.
يمكن تعطيل كل خطاف على حدة:
ويمكن تتبّع أي شيء آخر يدوياً:
تُنهي الكتلة النطاق بحالة error إذا رفعت استثناءً. خارج الطلب المتتبَّع لا يفعل tracer.child(...) شيئاً.

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

يتبع السياق عمليات await وتبديل المهام (فهو متغيّر contextvars)؛ أما الخيط الذي تبدؤه بنفسك فلا يرثه.

أخذ العينات

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

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

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

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

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

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

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