Как подсчитать пороговые метрики из вектора диапазона в PromQL (Прометей) - PullRequest
1 голос
/ 18 марта 2020

Я определил latency метрики, которые он может запрашивать как скалярные, как показано ниже:

latency{name="Controller/products/show",percentiles="95"}   0.9935112

Затем я выполнил запрос. Выход - вектор диапазона.

latency{name="Controller/products/show",percentiles="95"}[10m]

вывод:

element:
latency{name="Controller/products/show",percentiles="95"}

value:
0.9429009 @1584497778.164
0.9150374 @1584497838.164
0.9085548 @1584497898.164
0.9006939 @1584497958.164
0.9390876 @1584498018.164
0.9593425 @1584498138.164
0.96289706 @1584498198.164
0.98113775 @1584498258.164
0.9935112 @1584498318.164

Я хочу посчитать более 0.95 значений из значений диапазона вектора.

Например, получить 4 из вектора выше диапазон значений.

У кого-нибудь есть решения?

1 Ответ

0 голосов
/ 29 марта 2020

Подзапрос Prometheus может использоваться для этой задачи:

count_over_time((latency{name="Controller/products/show",percentiles="95"} > 0.95)[10m:50s])

Обратите внимание, что значение step после двоеточия (50s в приведенном выше примере) должно быть меньше, чем интервал очистки для выбранной метри c, поскольку Прометей оценивает запрос в круглых скобках в регулярных точках с настроенным интервалом step между ними.

...