timeSeriesLimitKMasks
أُضيف في: v26.8.0 تختار ما يصل إلى k من السلاسل الزمنية عند كل خطوة زمنية من الشبكة الزمنية، بطريقة شبه عشوائية حتمية. يمثّل كل صف إدخال سلسلة زمنية واحدة: يحدّدkey السلسلة، وsampling_key قيمة تجزئة خاصة بكل سلسلة يُعتمد عليها في ترتيب
الاختيار، ويحتوي values على قيم السلسلة مُحاذاةً إلى شبكة زمنية مشتركة (لذا يجب أن تكون مصفوفات values
في جميع الصفوف بالحجم نفسه). عند كل خطوة زمنية، تُختار السلاسل التي تملك أصغر k من مفاتيح أخذ العينات من بين السلاسل
التي تحتوي على قيم غير NULL عند تلك الخطوة. وعند تساوي مفاتيح أخذ العينات، تُفضَّل السلسلة ذات قيمة key الأصغر.
تنفّذ هذه الدالة مشغّل التجميع limitk() في PromQL، ولا تحتفظ إلا بكومة محدودة واحدة بحجم k لكل
خطوة زمنية، ولذلك لا يتوقف حجم حالتها على عدد السلاسل المجمّعة.
هذه الدالة في مرحلة المعاينة الخاصة، ويمكنك تفعيلها بضبط
enable_time_series_aggregate_functions = 1.k— عدد السلاسل المطلوب اختيارها عند كل خطوة زمنية، إما قيمة واحدة لجميع الخطوات الزمنية أو مصفوفة تحتوي على قيمة لكل خطوة زمنية. يجب أن تكون القيمة نفسها لجميع الصفوف.UInt*أوArray(UInt*)key— معرّف السلسلة الزمنية.UInt64sampling_key— قيمة تجزئة لكل سلسلة تحدد ترتيب الاختيار، مثلtimeSeriesGroupToSamplingKey(key).UInt64values— قيم السلسلة الزمنية مُحاذاةً مع الشبكة الزمنية، بواقع عنصر واحد لكل خطوة زمنية.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