PromQL 是不是有三元运算符或如何按条件查询?

Posted

技术标签:

【中文标题】PromQL 是不是有三元运算符或如何按条件查询?【英文标题】:Does PromQL have ternary operator or How to query on condition?PromQL 是否有三元运算符或如何按条件查询? 【发布时间】:2019-08-09 00:54:35 【问题描述】:
sum(process_open_fds) > bool max(process_max_fds)*0.9

如果以上返回 true,我想执行 topk(10, process_open_fds)。我们如何在一个查询中同时拥有这两者。

尝试如下 - 但没有运气

sum(process_open_fds) > bool max(process_max_fds)*0.9 > 1 and topk(10, process_open_fds)

【问题讨论】:

【参考方案1】:
  topk(10, process_open_fds)
and on ()
  sum(process_open_fds) > max(process_max_fds)*0.9

and 返回 LHS,因此您需要反过来加上一些分组。

【讨论】:

以上是关于PromQL 是不是有三元运算符或如何按条件查询?的主要内容,如果未能解决你的问题,请参考以下文章