Prometheus中哪种指标类型最适合用于表示DAU?
Prometheus中DAU数据的适配指标类型选择
结论
直接选用Gauge(瞬时值指标类型)即可,这是当前场景下唯一符合规范、不会引发计算异常的选型。
选型逻辑
- 为什么不选
Counter:Counter的硬性使用规则是指标值只能单调递增,不允许业务逻辑主动触发重置,仅允许服务重启、指标采集异常这类非预期场景下的数值归零。虽然DAU在单日内的数值全程递增,看起来贴合Counter的特性、方便做增量计算,但每日固定清零的业务规则直接违反了Counter的使用前提,强行使用会导致increase()、rate()等专门为Counter设计的查询函数输出完全错误的结果。 - 为什么选
Gauge:Gauge本身就是为可升可降、可主动重置的瞬时状态值设计的指标类型,完美兼容DAU“单日持续递增、每日零点清零重置”的数值变化规律。日常使用时既可以直接查询当前时刻的累计DAU值,也可以通过max_over_time(你的dau指标[24h])这类函数直接取自然日内的DAU峰值,得到当日最终DAU统计值,完全满足数据表征需求。
说明:本次选型不涉及DAU的具体内部计算逻辑,DAU的内部计算由独立业务方案实现。
内容的提问来源于stack exchange,提问作者progquester
相关产品推荐
相关产品推荐

