تتبع طلب النموذج يمكن أن يحمل مقاطع وأحداثا متعددة دون أن يمثل كل منها طلب مستخدم جديدا. تصف OpenTelemetry المقطع بوحدة عمل، ومعرف التتبع يربطه بمساره؛ وللمقطع الفرعي معرف أب. [1] نراجع شبكة معرفات مؤلفة قبل عد الطلبات.
الخلاصة السريعة
لا؛ عدد الأسطر أو المقاطع لا يحدد عدد الطلبات وحده. اربط المقطع بالتتبع والأب، ثم أعلن ما الذي تعده طلبا في تطبيقك.
- يوثق OpenTelemetry معرف التتبع ومعرف المقطع ومعرف الأب؛ المقطع وحدة عمل ويمكن أن يحتوي أحداثا في لحظات محددة. [1]
- نعلن طلبا واحدا ذا تتبع ت، ومقطعا جذريا ر وطفلين ج وح؛ في الورقة ثلاثة مقاطع لطلب واحد، لا ثلاثة طلبات.
- خمسة أحداث معلنة موزعة على المقاطع لا تضيف خمسة طلبات؛ تتبع آخر u يظل منفصلا رغم تكرار كلمة «جاهز» في الحدثين.
- الجذر ذو أب فارغ في العقد الموثق. [1] لكن غياب خانة الأب من سجلنا الناقص لا يثبت أنه جذر أو طلب مستقل؛ نراجع اكتمال الربط دون استنتاج صحة التنبؤ من هوية المسار.
ما الذي يحمل هوية المسار والعمل؟
يحتوي سياق المقطع في OpenTelemetry معرف التتبع ومعرف المقطع، ويبين معرف الأب علاقة المقاطع الفرعية. الحدث داخل المقطع يصف لحظة ذات معنى. [1]
نستعمل هذا الوصف لمراجعة طلب استدلال افتراضي. اسم «تجهيز» يصف العمل، لكن الهوية والعلاقة لا تحددهما الكلمة وحدها. قد يظهر الاسم نفسه في أكثر من طلب، كما قد يتضمن طلب واحد تجهيزًا وحسابًا وعودة.
نحتاج إلى تعريف وحدة العد قبل التقرير. في تمريننا الطلب هو واقعة مستخدم واحدة أعلنّاها، وليس كل استدعاء داخلي أو كل مقطع رصد. ليست هذه قاعدة تجعل كل تتبع في كل نظام طلب مستخدم واحدا بالضرورة.
كم مقطعا يخص طلبنا الأول؟
نعلن التتبع ت لطلب واحد. المقطع ر جذره، والمقطع ج لتجهيز المدخل أبوه ر، والمقطع ح لحساب النموذج أبوه ر أيضا. هذه رموز تعليمية قصيرة وليست معرفات فعلية بصيغتها الرقمية الكاملة.
عدد المقاطع ثلاثة. ج وح شقيقان في علاقة الأب المعلنة، ولا يعني قربهما في جدول الأسطر أن ح ابن ج. حفظ معرف ر في خانة الأب لكل منهما هو ما يحدد العلاقة في ورقتنا.
لو قرأنا المقاطع الثلاثة على أنها ثلاث استدعاءات مستخدم، غيرنا وحدة العد. ولو حذفنا ر من عرض مختصر، لا نعيد كتابة الأب المعلن إلى ج فقط ليبقى الرسم متصلا. الاختصار في العرض ليس تغييرا في المسار.
لماذا لا نعد الأحداث أو نجمع الأسماء؟
نضيف لر حدثين: «قبل القبول» و«جاهز»، ولج حدثين عن التجهيز، ولح حدث نهاية واحدا. لدينا خمسة أحداث موزعة على ثلاثة مقاطع؛ لم نعلن خمسة طلبات إضافية. كل حدث مرتبط بموضعه في البطاقة.
ونؤلف تتبعا آخر u لطلب ثان، فيه مقطع س وحدث اسمه «جاهز». تكرار الكلمة لا يدمج التتبعين أو يجعل الحدثين نسخة واحدة. مع التعريف الذي أعلنّاه، لدينا طلبان منفصلان، لا طلب واحد بسبب تطابق نص.
ولا نستنتج أن هذه الأحداث تكمل كل التنفيذ أو أن زمنين يمكن جمعهما. لم نقدم أزمنة أو تداخلات أو سجل خسارة أحداث، ولم نشغل موزع تتبع أو نموذجا.
ماذا نفعل إذا غاب رابط الأب؟
يوثق OpenTelemetry أن خانة أب المقطع الجذري فارغة. [1]
لكن بطاقة ناقصة لم تسجل خانة الأب أصلا ليست تصريحا من مصدرها بأنها فارغة. في مراجعتنا نميز «جذر معلن» من «أب لم نعرفه». يحتاج عد الطلبات الجديدة إلى تعريف وربط أقوى من مجرد فجوة في النص المحفوظ.
نقترح حفظ هوية التتبع والمقطع والأب ووحدة العد وما إذا كان العرض كاملا. العلاقة المكتوبة تساعد على فهم طريق طلبنا، لكنها لا تثبت جودة الجواب أو نجاح كل عمل داخلي. الرسم نموذج معرفات، لا تسجيل خدمة استدلال رصدناها.
المصادر ومتابعة القراءة
- OpenTelemetry: Traces (يفتح في نافذة جديدة)opentelemetry.io
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
