PromQL的一个QPS语句的分析

发布时间 2023-04-19 19:05:32作者: mindSucker

这里以一个请求count指标为例,该指标是随时间增长的瞬时向量,如何用这个指标计算QPS,可以参照如下:

req_sum_total
瞬时向量,value and timestamp,当然返回的数据是一个集合

req_sum_total{Project =~ "vlm.+", uri!~"/status|.*prometheus"}
筛选后瞬时向量

req_sum_total{Project =~ "vlm.+", uri!~"/status|.*prometheus"}[1m]
区间向量,按照1分钟进行分割,返回的数据是一个二位数组

rate(req_sum_total{Project =~ "vlm.+", uri!~"/status|.*prometheus"}[1m])
rate函数,计算区间向量的变化速率(per second),函数的入参只能是,区间向量,返回的是瞬时向量

sum(rate(req_sum_total{Project =~ "vlm.+", uri!~"/status|.*prometheus"}[1m]))
sum函数,计算瞬时向量的sum值(这里的sum是对单个时间点的sum),返回的数据还是瞬时向量

sum(rate(req_sum_total{Project =~ "vlm.+", uri!~"/status|.*prometheus"}[1m])) by(Project)
sum函数,计算瞬时向量的sum值(这里的sum是对单个时间点的sum,sum的维度是by project),返回的数据还是瞬时向量