我刚接触普罗米修斯,我正在尝试理解PromQL查询的语法规则。从文档中,它声明了<aggr-op>([parameter,] <vector expression>) [without|by (<label list>)],考虑到它们所展示的示例,这是有意义的。
然而,从Robust Perception博客中,他显示了一些查询,如sum without (cpu)(rate(node_cpu[1m])),内部有一个查询,可以使用健康的指标count by (job) (up)扫描所有作业
我想要理解的是,在聚合器中传入参数或向量表达式似乎是可选的-如果是可选的,那么当省略向量表达式时会查询什么?
看起来count(up) by (job)和count by (job) (up)都很相似,而且可能是等价的?这种格式是Go编程语言的产物,还是只是查询语言中未记录的灵活性?
发布于 2018-07-23 18:50:31
我想要理解的是,将参数或向量表达式传入聚合器似乎是可选的-如果是这样,那么当省略向量表达式时会查询什么?
如果您不传递显式的by/without子句,则它与by()相同。
这种格式是Go编程语言的产物,还是只是查询语言中未记录的灵活性?
这两种方法都得到了支持,关于使用哪种方法还存在争议。我建议把你的by/ your放在前面,因为它更容易读懂非平凡的表达式。
https://stackoverflow.com/questions/51471539
复制相似问题