Skip to main content

timeSeriesBottomKMasks

أُضيف في: v26.8.0 تختار السلاسل الزمنية ذات أصغر k قيمة عند كل خطوة زمنية من الشبكة الزمنية. يمثّل كل صف في الإدخال سلسلة زمنية واحدة: يحدّد key السلسلة، ويحتوي values على قيمها المُحاذاة وفق شبكة زمنية مشتركة، لذا يجب أن تكون مصفوفات values في جميع الصفوف بالحجم نفسه. عند كل خطوة زمنية، تُختار السلاسل ذات أصغر k قيمة غير NULL عند تلك الخطوة (تُعدّ NaN أكبر من أي قيمة أخرى). وعند تساوي القيم، تُفضَّل السلسلة ذات key الأصغر. تُنفّذ هذه الدالة مشغّل التجميع bottomk() في PromQL، ولا تحتفظ إلا بكومة محدودة واحدة بحجم k لكل خطوة زمنية، ومن ثَمّ لا يتوقف حجم حالتها على عدد السلاسل المُجمَّعة.
هذه الدالة في مرحلة المعاينة الخاصة، ويمكنك تفعيلها بضبط enable_time_series_aggregate_functions = 1.
الصيغة
الوسيطات
  • k — عدد السلاسل المراد اختيارها عند كل خطوة زمنية، إما قيمة واحدة لجميع الخطوات الزمنية أو مصفوفة تحتوي على قيمة لكل خطوة زمنية. يجب أن تكون القيمة نفسها لجميع الصفوف. UInt* أو Array(UInt*)
  • key — معرّف السلسلة الزمنية. UInt64
  • values — قيم السلسلة الزمنية المحاذية للشبكة الزمنية، بواقع عنصر واحد لكل خطوة زمنية. Array(Nullable(Float32)) أو Array(Nullable(Float64)) أو Array(Float32) أو Array(Float64)
القيمة المعادة تُعيد السلاسل المختارة مرتبةً تصاعديًا حسب key، مع قناع الخطوات الخاص بكل منها، حيث steps_mask[t] = 1 إذا اختيرت السلسلة عند الخطوة الزمنية t. ولا تُعاد السلاسل التي لم تُختر عند أي خطوة زمنية. Array(Tuple(key UInt64, steps_mask Array(UInt8))) أمثلة اختيار أصغر سلسلتين عند كل خطوة زمنية
Query
Response
آخر تعديل في ١٤ أكتوبر ٢٠٢٦