Prometheus / الأساسي: الجمع ومعنى السلاسل الزمنية / الدرس 6
معدلات العدادات وزياداتها وإعادة ضبطها
فسر معدلات العدادات وفق الضبط والنافذة، وتجنب اعتبار الطرح البسيط أو نموذج بايثون خوارزمية محرك PromQL.
في هذه الصفحة
أهداف الدرس
- اشرح أغراض rate وincrease وirate.
- طبق rate قبل تجميع عدادات مستقلة.
- بيّن عدم اليقين مع العينات القليلة وإعادة الضبط.
ليس مجموع العداد معدل حركة
يجيب عداد الطلبات التراكمي عن الزيادات التي راكمتها الأداة منذ بدئها، مع مراعاة الضبط. تقدر rate متوسط معدل في الثانية عبر مدى، وتعبر increase عن زيادة نافذة بمعنى مرتبط بالمعدل، وتستخدم irate آخر عينتين مناسبتين فتستجيب أسرع للتغير القصير. راجع تعريفات الدوال الثابتة للسلوك الدقيق. لا تقارن المجاميع الخام لمثيلات مختلفة العمر كأنها طلب حالي. قد يكون مجموع عملية مشغولة أُعيد تشغيلها أقل من قديمة خاملة، مع أنها تخدم حركة أكبر الآن.
اشتق معدل كل عداد قبل التجميع
يحسب الاستعلام التعليمي معدل كل عداد مختار ثم يجمع بحسب العملية. يحفظ ذلك معالجة ضبط السلاسل الفردية قبل إسقاط هوياتها. قد يخفي جمع العدادات أولاً انخفاض مثيل خلف زيادة آخر، فيشوه تفسير الضبط. مدى الخمس دقائق مثال لا توصية عامة؛ يحتاج مشاهدات كافية واستجابة مناسبة. تكون الوحدة طلبات في الثانية إذا عد المصدر الطلبات. وضح سياسة النتيجة والتأهيل، فالمعدل الصحيح نحوياً لمجموعة خاطئة يظل مضللاً.
sum by (operation) (
rate(warehouse_requests_total{job="warehouse-lab"}[5m])
)
التعبير PromQL تعليمي وفق المرجع الثابت ولم يُنفذ. يجمع معدلات السلاسل مع إبقاء operation بعداً للتجميع.
استخدم نموذج ضبط صغيراً دون مبالغة
ترى العينة القيم 100 و110 و4 و10. وبافتراضها الصريح أن الانخفاض يعني ضبطاً إلى صفر، يبلغ مجموع الزيادات المرصودة المعدلة عشرين بدلاً من ناقص تسعين. لا تستعيد زيادات حدثت واختفت بين المشاهدات. تستخدم rate وincrease أيضاً قواعد توقيت واستقراء يغفلها هذا التكرار المبسط؛ وقد تعطيان كسوراً رغم أن الأحداث أعداد صحيحة. سمِّ النموذج بصدق: يختبر فكرة حساب تراعي الضبط، وليس تنفيذاً مكافئاً أو عدّاً دقيقاً لكل طلب فعلي.
values = [100, 110, 4, 10]
adjusted = 0
for previous, current in zip(values, values[1:]):
adjusted += current - previous if current >= previous else current
print("naive_difference", values[-1] - values[0])
print("modeled_adjusted_increase", adjusted)
naive_difference -90
modeled_adjusted_increase 20
يفترض التكرار ضبطاً إلى الصفر ويغفل التوقيت والاستقراء والزيادات غير المرصودة وعلامات القدم. وهو صراحة ليس rate أو increase في PromQL.
راجع النافذة وتوفر العينات
لا يدعم مدى قليل العينات الصالحة تقدير المعدل المقصود. قد تقلل عمليات جمع فائتة وتوقيت غير منتظم وتبدل العمليات والتسميات الاستمرارية. قد تضج النافذة القصيرة جداً وتنعّم الطويلة تغيراً عاجلاً. اختر بحسب قرار التشخيص أو التنبيه، وافحص الفاصل والتغطية الفعلية لا مضاعفاً ثابتاً عمياء. تختلف لا حركة ومعدل مقدر صفري وبيانات غائبة وسلسلة جديدة. لا تملأها جميعاً بصفر مطمئن للحفاظ على خط متصل.
اربط تفسير المعدل بعقد الحدث
قد يعكس ارتفاع الإكمال طلباً أكبر أو إعادات عُدت محاولات مستقلة أو تغير تأهيل، لا خدمة أفضل. قرن المعدلات بالنتائج والزمن عند تشخيص تجربة المستخدم. تستحق مشاهدات سالبة لكمية يفترض تزايدها فحص النوع والوحدة والرصد، لا تطبيق منطق الضبط تلقائياً. ينفذ الدرس التكرار المحلي المبسط فقط. لا يختبر برنامج Prometheus أو واجهة استعلام أو جمعاً أو عداداً فعلياً، ولا يدعي خرجاً عددياً للتعبير غير المنفذ.
الأخطاء الشائعة وإصلاحها
تُقارن المجاميع الخام كحمل حالي.
- لماذا يحدث؟
- أُهمل عمر العملية والضبط.
- كيف تصلحه؟
- استخدم معدلاً مناسباً مشتقاً من العداد مع سياق التغطية.
- كيف تتجنب تكراره؟
- وثق معنى الكمية والوقت.
تصنع الإعادة قمة حركة ضخمة أو سالبة.
- لماذا يحدث؟
- أخفى طرح ساذج أو تجميع معنى الضبط.
- كيف تصلحه؟
- عالج كل عداد بالدوال الموثقة قبل التجميع.
- كيف تتجنب تكراره؟
- أدرج الضبط في عينات القواعد.
يسمى تكرار بايثون تنفيذاً دقيقاً للمعدل.
- لماذا يحدث؟
- أُغفل التوقيت والاستقراء من الادعاء.
- كيف تصلحه؟
- قيد الادعاء بقاعدة الحساب المنمذجة.
- كيف تتجنب تكراره؟
- افصل تحقق المحرك عن الحساب التعليمي.
اختبر فهمك
1. لماذا ينبغي عادة تطبيق rate قبل sum عند جمع مثيلات قد تعيد تشغيلها بصورة مستقلة؟
اعرض الحل المشروح
تنتمي معالجة إعادة الضبط إلى تسلسل كل عداد أصلي. قد يخفي التجميع أولاً انخفاض أحد التسلسلات خلف نمو تسلسل آخر. احسب معدلات متوافقة لكل سلسلة، ثم اجمع المجموعة المطلوبة. احتفظ بأبعاد كافية لفصل المهام والعمليات غير المرتبطة.
2. لماذا تستطيع increase إعادة قيمة غير صحيحة العدد لعداد يحصي طلبات منفردة؟
اعرض الحل المشروح
يستخدم حسابها الموثق التوقيت والاستقراء على امتداد المدى المختار، بدلاً من مجرد طرح عددين صحيحين ظاهرين. لا يعني التقدير الكسري فساداً تلقائياً. افحص التغطية والمدى وسلوك الضبط ومعنى النسخة الفعلية؛ فالنموذج المحلي المبسط لا يعيد تنفيذ هذه الخوارزمية.
أهم ما تعلمته
- تحتاج معدلات العدادات معنى الضبط والتغطية.
- طبق المعدل قبل دمج سلاسل مستقلة.
- لا يدعي النموذج المبسط تكافؤاً مع المحرك.