通常来说直接绘制一个原始的 Counter 类型的指标数据用处不大,因为它们会一直增加,一般来说是不会去直接关心这个数值的,因为 Counter 一旦重置,总计数就没有意义了,比如我们直接执行下面的查询语句:

 

demo_api_request_duration_seconds_count{job="demo"} 

可以得到下图所示的图形:

 

可以看到所有的都是不断增长的,一般来说我们更想要知道的是 Counter 指标的变化率,PromQL 提供了不同的函数来计算变化率。

 

rate

用于计算变化率的最常见函数是 rate(),rate() 函数用于计算在指定时间范围内计数器每秒增加量的平均值。因为是计算一个时间范围内的平均值,所以我们需要在序列选择器之后添加一个范围选择器。

 

例如我们要计算 demo_api_request_duration_seconds_count 在最近五分钟内的每秒平均变化率,则可以使用下面的查询语句:

 

rate(demo_api_request_duration_seconds_count[5m]) 

 

现在绘制的图形看起来显然更加有意义了,进行 rate 计算的时候是选择指定时间范围下的第一和最后一个样本进行计算

 

dawei

【声明】:乐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。