You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求科普Prometheus核心数据模型(Counter)及rate函数原理

Prometheus核心数据模型解析(聚焦Counter)

时间序列的本质定义

  • 时间序列的唯一身份由标签键值对的集合决定,数据类型(如Counter)是该序列的行为属性,而非身份标识的一部分。也就是说,标签完全一致的序列,只会对应一种数据类型。
  • 标签组合的数量计算正确:若标签A有|A|种取值,标签B有|B|种取值,最终会生成|A|×|B|条独立的时间序列,每条都有自身的Counter数值变化轨迹。

瞬时向量(Instant Vector)

  • 瞬时向量是某个特定时间点上,符合匹配条件的所有时间序列的最新样本值集合。比如每小时采样一次,每个小时时间点的瞬时向量规模就是匹配的标签组合数;若指定标签A的某一取值,规模则变为|B|。
  • 不能称其为“向量的时间序列”:瞬时向量是静态的时间点快照,是多个序列在该点的数值集合;而时间序列是单个标签组合随时间的数值变化轨迹,是动态的、按时间排序的样本序列,二者是完全不同的概念。

范围向量(Range Vector)

  • 范围向量是一段连续时间窗口内,符合匹配条件的所有时间序列的样本片段集合。它不是矩阵,更准确的描述是:每个元素对应一条时间序列在窗口内的全部样本(比如窗口包含N次采样,每个元素就是N个<时间戳, 数值>对),总元素数等于匹配的标签组合数(|A|×|B|)。
  • rate()函数的实际逻辑:并非简单取窗口首尾样本相减除以时间差,它会自动识别Counter的重置(如进程重启导致Counter归零),将重置前后的片段分别计算速率后再合并,最终得到窗口内的平均每秒增长率。

Counter的核心使用提示

  • Counter是单调递增的数值(仅在重置时会下降),原始样本值的参考意义有限,通常通过rate()(长窗口平均速率)或irate()(瞬时速率)计算增长率,用于监控如请求量、错误数这类累加型指标。

内容的提问来源于stack exchange,提问作者nadavgam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:40:40