يُقيِّم استعلام Prometheus باستخدام بيانات من جدول TimeSeries عبر نطاق من أزمنة التقييم.
البنية
prometheusQueryRange('db_name', 'time_series_table', 'promql_query', start_time, end_time, step)
prometheusQueryRange(db_name.time_series_table, 'promql_query', start_time, end_time, step)
prometheusQueryRange('time_series_table', 'promql_query', start_time, end_time, step)المعاملات
db_name- اسم قاعدة البيانات التي يوجد فيها جدول TimeSeries.time_series_table- اسم جدول TimeSeries.promql_query- استعلام مكتوب بصياغة PromQL.start_time- وقت بداية نطاق التقييم.end_time- وقت نهاية نطاق التقييم.step- الخطوة المستخدَمة للتنقّل عبر وقت التقييم منstart_timeإلىend_time(شاملاً).
القيمة المُعادة
يمكن أن تُرجِع الدالة أعمدة مختلفة بناءً على نوع نتيجة الاستعلام المُمرَّر إلى المَعلمة promql_query:
| نوع النتيجة | أعمدة النتيجة | مثال |
|---|---|---|
| vector | tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType | prometheusQuery(mytable, 'up') |
| matrix | tags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType)) | prometheusQuery(mytable, 'up[1m]') |
| scalar | scalar ValueType | prometheusQuery(mytable, '1h30m') |
| string | string String | prometheusQuery(mytable, '"abc"') |
الميزات المدعومة في PromQL
المحددات
المحددات اللحظية، ومحددات النطاق، ومطابقات الوسوم (=, !=, =~, !~)، ومُعدِّلات الإزاحة، ومُعدِّلات الطابع الزمني @، والاستعلامات الفرعية.
الدوال
| الفئة | الدوال |
|---|---|
| النطاق | rate, irate, delta, idelta, increase, last_over_time, deriv, changes, resets |
| الرياضيات | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg, round, clamp, clamp_min, clamp_max |
| حساب المثلثات | sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh |
| DateTime | day_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year |
| الوسم | label_replace, label_join |
| نوع | scalar, vector |
| مُدرَّج تكراري | histogram_quantile |
| أخرى | time, pi |
ملاحظة: تستخدم histogram_quantile الاستيفاء الخطي على حاويات المُدرَّج التكراري التقليدية (التي يحدّدها الوسم le). المُدرَّجات التكرارية الأصلية غير مدعومة. يجب أن تكون قيمة الوسيط phi (مستوى الكوانتايل) قيمة scalar ثابتة. تُرفَض التعبيرات التي تتغيّر في كل خطوة، مثل histogram_quantile(time() / 1000, ...)، مع ظهور استثناء NOT_IMPLEMENTED.
العوامل
العوامل الثنائية الحسابية (+, -, *, /, %, ^, atan2) وعوامل المقارنة (==, !=, <, >, <=, >= مع bool اختياري)، مع المعدِّلات on()/ignoring() وgroup_left()/group_right().
عوامل المجموعات المنطقية and وor وunless، مع المعدِّلات on()/ignoring().
العاملان الأحاديان + و-.
معاملات التجميع
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — مع معدِّلات اختيارية by() أو without().
غير مدعوم حاليًا
- عامل التجميع
count_values - دوال النطاق
predict_linear،avg_over_time،min_over_time،max_over_time،sum_over_time،count_over_time،quantile_over_time،stddev_over_time،stdvar_over_time،present_over_time،absent_over_time،mad_over_time،first_over_time،ts_of_min_over_time،ts_of_max_over_time،ts_of_last_over_time،ts_of_first_over_time - الدالة
absent
مثال
SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)