avg_over_timerate本身优于rate的优势?

问题描述

通常,我的带有计数器指标的查询如下:

rate(metric_total[5m])
rate(metric_total[$__interval])

但是,在考察使用Prometheus和Grafana的各种公司/团队(例如GitLab基础架构团队)时,我遇到了以下结构:

avg_over_time(recording_rule:rate_5m[$__interval])

所以我想知道:第二种方法是否有优势?


以下是一个具体示例:https://dashboards.gitlab.com/d/frontend-main/frontend-overview?orgId=1&viewPanel=23

解决方法

第二种方法不需要您为想要平均费率的每个可能的间隔都有记录规则,从而节省了资源。