Skip to main content

timeSeriesMadToGrid

أُضيف في: v26.10.0 دالة تجميعية تأخذ بيانات السلاسل الزمنية على هيئة أزواج من الطوابع الزمنية والقيم، وتحسب دالة PromQL mad_over_time على شبكة زمنية منتظمة يحددها طابع زمني للبداية وطابع زمني للنهاية وخطوة. وتكون النتيجة لكل نقطة على الشبكة هي الانحراف المطلق الوسيط median(|x - median(x)|) لقيم العينات ضمن النافذة الزمنية المحددة. ويُحسب كلا الوسيطين بطريقة R-7 (الشاملة)، على غرار quantileExactInclusive وtimeSeriesQuantileToGrid. يمكن تمرير العينات بأحد الأشكال الثلاثة التالية:
  • على هيئة وسيطتين timestamp وvalue، بحيث يحتوي كل صف على عينة واحدة؛
  • على هيئة مصفوفتين من الطوابع الزمنية والقيم، بحيث يحتوي كل صف على سلسلة زمنية كاملة؛
  • على هيئة مصفوفة واحدة من صفوف مرتبة بالشكل (timestamp, value)، بحيث يحتوي كل صف على سلسلة زمنية كاملة.
وكما في Prometheus، تكون النتيجة NaN إذا كانت أي عينة في النافذة تساوي NaN. وتكون كذلك NaN إذا كان وسيط النافذة لا نهائيًا، لأن انحرافات العينات المساوية له تساوي Inf - Inf. إذا اشتركت عدة عينات في الطابع الزمني نفسه، فلا تُستخدم إلا واحدة منها، وهي العينة ذات القيمة الأكبر. وتُقدَّم أي قيمة أخرى على القيمة NaN، لذا لا تُستخدم NaN إلا إذا كانت جميع العينات عند هذا الطابع الزمني تساوي NaN.
هذه الدالة في مرحلة المعاينة الخاصة، ويمكنك تفعيلها بضبط الإعداد enable_time_series_aggregate_functions=true.
الصيغة
المعلمات
  • start_timestamp — يحدد بداية الشبكة. ويمكن أن يكون أيضًا عددًا كسريًا، أو سلسلة نصية تحتوي على عدد أو على نص يمثل تاريخًا ووقتًا. UInt32 أو DateTime أو DateTime64 أو Float* أو Decimal* أو String
  • end_timestamp — يحدد نهاية الشبكة. ويمكن أن يكون أيضًا عددًا كسريًا، أو سلسلة نصية تحتوي على عدد أو على نص يمثل تاريخًا ووقتًا. UInt32 أو DateTime أو DateTime64 أو Float* أو Decimal* أو String
  • grid_step — يحدد خطوة الشبكة بالثواني. ويمكن أن يكون أيضًا عددًا كسريًا، أو سلسلة نصية تحتوي على عدد أو على مدة مثل ’15s’ أو ‘1m’. UInt32 أو Float* أو Decimal* أو String
  • staleness — يحدد الحد الأقصى لـ “تقادم” العينات المعتمدة في الحساب، بالثواني. ونافذة التقادم فاصل زمني مفتوح من اليسار ومغلق من اليمين. ويمكن أن يكون أيضًا عددًا كسريًا، أو سلسلة نصية تحتوي على عدد أو على مدة مثل ’15s’ أو ‘1m’. UInt32 أو Float* أو Decimal* أو String
الوسيطات
  • timestamp — الطابع الزمني للعينة. ويمكن أن يكون قيمًا منفردة أو مصفوفات. UInt32 أو DateTime أو DateTime64 أو Array(UInt32) أو Array(DateTime) أو Array(DateTime64)
  • value — قيمة السلسلة الزمنية المقابلة للطابع الزمني. ويمكن أن تكون قيمًا منفردة أو مصفوفات. Float* أو Array(Float*)
  • samples — عينات السلسلة الزمنية، وتُمرَّر على شكل مصفوفة من الصفوف المرتبة (timestamp, value)، بحيث تكون أنواع عناصر الصف المرتب هي أنواع الطابع الزمني والقيمة المذكورة أعلاه. وهي بديل عن تمرير الطوابع الزمنية والقيم في وسيطتين منفصلتين. Array(Tuple(T1, T2))
القيمة المعادة تُرجع الانحراف المطلق الوسيط للقيم على الشبكة الزمنية المحددة. تحتوي المصفوفة المُرجَعة على قيمة واحدة لكل نقطة من نقاط الشبكة الزمنية. وتكون القيمة NULL إذا لم توجد أي عينات ضمن النافذة لنقطة معينة من نقاط الشبكة. Array(Nullable(Float64)) أمثلة حساب قيم mad_over_time على الشبكة [90, 105, 120, 135, 150, 165, 180, 195, 210, 225]
Query
Response
الاستعلام نفسه باستخدام وسيطات من نوع مصفوفة
Query
Response
آخر تعديل في ١٤ أكتوبر ٢٠٢٦