يُقيِّم استعلام 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, last_over_time |
| الرياضيات | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg |
| حساب المثلثات | 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 |
| Type | scalar, vector |
| مُدرَّج تكراري | histogram_quantile |
| أخرى | time, pi |
ملاحظة: تستخدم histogram_quantile الاستيفاء الخطي على حاويات المُدرَّج التكراري التقليدية (التي يحدّدها الوسم le). لا تزال المُدرَّجات التكرارية الأصلية غير مدعومة، ويجب أن تكون قيمة الوسيط phi (مستوى الكوانتايل) حاليًا قيمة scalar ثابتة — وتُرفَض التعبيرات التي تتغيّر في كل خطوة، مثل histogram_quantile(time() / 1000, ...)، مع ظهور الخطأ NOT_IMPLEMENTED.
جميع العوامل الثنائية الحسابية (+, -, *, /, %, ^)، وعوامل المقارنة (==, !=, <, >, <=, >= مع bool اختياري)، والعوامل المنطقية (and, or, unless)، مع المعدِّلات on()/ignoring() وgroup_left()/group_right().
العاملان الأحاديان + و-.
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — مع معدِّلات اختيارية by() أو without().
غير مدعوم بعد: count_values.
SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
آخر تعديل في ٢٥ يونيو ٢٠٢٦