قابلية الرصد / الأساسي: الإشارات ومعنى القياس / الدرس 4
التتبعات والمقاطع والسياق المنقول
اقرأ التتبع بوصفه عمليات مؤقتة مترابطة، وميّز علاقة الأبوة من الاحتواء الزمني، واحفظ السياق بأمان عبر حدود العمليات.
في هذه الصفحة
أهداف الدرس
- اشرح هوية التتبع وهوية كل مقطع داخله.
- فسّر المدد دون جمع المقاطع المتداخلة كما لو كانت متسلسلة.
- راجع نقل السياق وحدود التعامل مع سياق وارد غير موثوق.
يربط التتبع العمل ولا يمثل كل حدث
يمثل المقطع عملية ذات زمن، واسم، وهوية، وتوقيت، وسمات، وأحداث، وعلاقات بحسب ما يدعمه نموذج التتبع. تشترك المقاطع المرتبطة في معرف تتبع واحد، بينما يملك كل مقطع معرفه الخاص. في تتبع الطرود، قد ترتبط عملية الخادم بنداء عميل للتخزين وخطوة عرض داخلية. لا يعادل المقطع تلقائياً حزمة شبكة واحدة أو خيط تنفيذ أو سطر سجل. ارصد حدوداً مفيدة يستطيع القارئ فهم العملية من خلالها. تضيف المقاطع الدقيقة الكثيرة تكلفة وضوضاء بصرية دون أن تشرح بالضرورة أين حدث العمل المفيد أو الانتظار.
انقل السياق عند الحد الفعلي
يتيح نقل السياق ربط عملية بعمل في عملية نظام أخرى أو عند حد تنفيذ مختلف. يستخدم نقل HTTP عادة صيغة W3C Trace Context، ويحدد تكامل SDK والإطار مواضع استخراج السياق وحقنه. تستخدم الترويسة التعليمية معرفات افتراضية ذات شكل نحوي مناسب فقط. لا تعامل معرف التتبع الوارد بوصفه مصادقة أو تفويضاً. تحقق من السياق بالناقل المدعوم في المنصة، وحدد أثر حدود الثقة في الأمتعة ومدخلات أخذ العينات. قد يحمل الطلب سياقاً مع أن بعض المقاطع لا تسجل، لذا لا تخلط غياب السجل بغياب نقل السياق.
traceparent: 00-11111111111111111111111111111111-2222222222222222-01
تمثل الحقول النسخة ومعرف التتبع ومعرف مقطع الأب والعلامات. المثال غير قابل للتنفيذ، ولا يصادق مستدعياً أو يتصل بنقطة خدمة.
اقرأ التداخل قبل جمع المدد
قد تتداخل مقاطع الأبناء المتوازية، ولذلك يمكن أن يتجاوز مجموع مددها مدة الأب دون وجود عيب. في المثال المحلي يدوم الأب مئة مللي ثانية، ويدوم كل من ابنين متوازيين ستين، فيصبح مجموعهما مئة وعشرين. لا يعني ذلك أن الطلب استغرق مئة وعشرين مللي ثانية. يحتاج حساب الزمن الحصري إلى اتحاد الفواصل وافتراضات دقيقة عما شمله الرصد. وقد تشوه ساعات العمليات المختلفة مواضع المقاطع الظاهرة. استخدم التتبع لتحديد حد واعد للتحقيق، ثم قارنه بأدلة المجموعة قبل التعميم من عملية واحدة.
parent_start, parent_end = 0, 100
children = [(10, 70), (30, 90)]
print("parent_ms", parent_end - parent_start)
print("summed_child_ms", sum(end - start for start, end in children))
print("children_overlap_ms", min(70, 90) - max(10, 30))
parent_ms 100
summed_child_ms 120
children_overlap_ms 40
يتداخل فاصلَا الابنين الافتراضيين مدة 40 ms. لا يساوي مجموعهما زمن الطلب المنقضي، وليس المثال تتبعاً مقاساً.
افصل شكل العلاقات عن إثبات السبب
قد يشمل مقطع عميل طويل اكتساب اتصال وإعادات محاولة وانتقالاً عبر الشبكة وتنفيذاً لاحقاً، بحسب مواضع الرصد. لا يثبت اسمه وحده بطء محرك قاعدة البيانات. وقد يغيب ابن بسبب غياب الرصد أو فقد السياق أو سياسة العينة أو فقد التصدير أو مرشح المخزن. افحص هذه الاحتمالات قبل إعلان أن الاعتمادية لم تُستدع. تخضع حالة التتبع والاستثناءات المسجلة لمعنى الأداة، ولا تستبدل تعريف نتيجة العمل. اقرن التتبع بالأعداد والتوزيعات وسياق أحداث آمن لتفهم مدى شيوع المسار المرصود.
اختر أسماء مفيدة وسمات آمنة
استخدم أسماء عمليات محدودة القيم، مثل قالب مسار، بدلاً من URL خام يحتوي معرف طرد. تجنب بيانات الاعتماد والتفاصيل الشخصية في سمات المقاطع وأحداثها وأمتعتها. سجل سياق الخدمة والنشر باتساق حتى يبقى التنقل بين الخدمات ممكناً. راجع الحدود غير المتزامنة وحدود الدفعات منفصلة، لأن أباً واحداً قد لا يمثل كل العلاقات. ينمذج هذا الدرس الفواصل ويعرض ترويسة فقط؛ ولا ينشئ SDK أو يرسل بيانات أو يفحص تتبعاً حقيقياً أو يثبت نقل السياق الخاص بإطار معين. تحتاج هذه الادعاءات أدلة تكامل مخولة مستقلة.
الأخطاء الشائعة وإصلاحها
يتجاوز مجموع مدد الأبناء مدة الطلب.
- لماذا يحدث؟
- جُمعت فواصل متوازية كما لو كانت عملاً متسلسلاً.
- كيف تصلحه؟
- افحص التداخل وحدود الزمن المنقضي.
- كيف تتجنب تكراره؟
- علّم معنى الفواصل باستخدام عينة تتبع صغيرة.
يُعد غياب مقطع إثباتاً لعدم حدوث النداء.
- لماذا يحدث؟
- أُهملت العينة وتغطية الرصد وفقد التصدير.
- كيف تصلحه؟
- تتبع مسار التسجيل وقارن دليلاً مستقلاً.
- كيف تتجنب تكراره؟
- وثق التغطية وسياسة أخذ العينات.
يمنح معرف التتبع صلاحية وصول.
- لماذا يحدث؟
- اختلط سياق الارتباط بثقة الهوية.
- كيف تصلحه؟
- استخدم مصادقة صحيحة وتحقق من السياق المنقول.
- كيف تتجنب تكراره؟
- راجع حدود الثقة وقوائم سماح الأمتعة.
اختبر فهمك
1. يدوم الأب 200 ms، ويدوم كل من ابنين 150 ms. هل يستحيل هذا التتبع؟
اعرض الحل المشروح
لا. قد يتداخل الابنان، ولا يساوي مجموع مدد الأبناء زمن الطلب على ساعة الحائط. افحص الفواصل والعلاقات ومصادر الساعات. وإذا ظهر ابن خارج حد متوقع، فابحث في الرصد ومعنى التوقيت قبل افتراض فساد البيانات.
2. تبدأ خدمة لاحقة تتبعاً جديداً لكل نداء وارد. ما الذي ينبغي فحصه؟
اعرض الحل المشروح
افحص النواقل المدعومة وتمرير الترويسات واستخراج السياق عند حد الخادم وتفعيله والعينة والتصدير. استخدم عينة معزولة آمنة بمعرفات افتراضية معلومة عند وجود تفويض. لا تفترض اكتمال بحث المخزن، أو أن فشل السياق هو السبب الوحيد لانفصال التتبعات.
أهم ما تعلمته
- علاقات المقاطع والزمن المنقضي مفهومان مختلفان.
- ينقل السياق معلومات ارتباط ولا يمنح سلطة.
- تحد تغطية التتبع وسياسة عيناته مما يصح استنتاجه.