> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> يُنفِّذ استعلام Prometheus باستخدام بيانات من جدول TimeSeries.

# prometheusQuery

يُنفِّذ استعلام Prometheus باستخدام بيانات من جدول TimeSeries.

<div id="syntax">
  ## البنية
</div>

```sql theme={null}
prometheusQuery('db_name', 'time_series_table', 'promql_query', evaluation_time)
prometheusQuery(db_name.time_series_table, 'promql_query', evaluation_time)
prometheusQuery('time_series_table', 'promql_query', evaluation_time)
```

<div id="arguments">
  ## الوسيطات
</div>

* `db_name` - اسم قاعدة البيانات التي يوجد فيها جدول TimeSeries.
* `time_series_table` - اسم جدول TimeSeries.
* `promql_query` - استعلام مكتوب [بصيغة PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/).
* `evaluation_time - الطابع الزمني للتقييم. لتقييم استعلام في الوقت الحالي، استخدم `now()`باعتباره`evaluation\_time\`.

<div id="returned-value">
  ## القيمة المُعادة
</div>

يمكن أن تُرجع الدالة أعمدة مختلفة بحسب نوع نتيجة الاستعلام المُمرَّر إلى المعامل `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"')   |

<div id="supported-promql-features">
  ## الميزات المدعومة في PromQL
</div>

<div id="selectors">
  ### المُحدِّدات
</div>

المُحدِّدات الآنية، ومُحدِّدات النطاق، ومطابقات التسميات (`=`, `!=`, `=~`, `!~`)، ومُعدِّلات الإزاحة، ومُعدِّلات الطابع الزمني `@`، والاستعلامات الفرعية.

<div id="functions">
  ### الدوال
</div>

| الفئة          | الدوال                                                                                                                        |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| النطاق         | `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` (مستوى quantile) `scalar` ثابتًا. وتُرفض التعبيرات التي تتغيّر في كل خطوة، مثل `histogram_quantile(time() / 1000, ...)`، مع استثناء `NOT_IMPLEMENTED`.

<div id="operators">
  ### العوامل
</div>

العوامل الثنائية الحسابية (`+`, `-`, `*`, `/`, `%`, `^`, `atan2`) وعوامل المقارنة (`==`, `!=`, `<`, `>`, `<=`, `>=` مع `bool` اختياري)، مع مُعدِّلات `on()`/`ignoring()` و`group_left()`/`group_right()`.

عوامل المجموعات المنطقية `and` و`or` و`unless`، مع مُعدِّلات `on()`/`ignoring()`.

والعوامل الأحادية `+` و`-`.

<div id="aggregation-operators">
  ### عوامل التجميع
</div>

`sum`, `avg`, `min`, `max`, `count`, `stddev`, `stdvar`, `group`, `quantile`, `topk`, `bottomk`, `limitk` — مع مُعدِّلات اختيارية من نوع `by()` أو `without()`.

<div id="not-yet-supported">
  ### غير مدعوم حاليًا
</div>

* عامل التجميع `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`

<div id="example">
  ## مثال
</div>

```sql theme={null}
SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
```
