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 是不是有三元运算符或如何按条件查询?的主要内容,如果未能解决你的问题,请参考以下文章

Python中的三元运算符是如何实现的

三元条件下的多个 OR 运算符,

这些在 React 中使用三元运算符有条件地应用内联样式的方法在性能上是不是有任何差异?

三元条件运算符中的多个条件?

4.PromQL快速入门

将递增/递减运算符放在三元/条件运算符中是不是安全?