You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Prometheus中Summary指标百分位数的默认统计时间间隔是多少?

Prometheus Summary指标百分位数的默认统计时间间隔

嘿,这个问题我刚好门儿清!

首先直接给答案:Prometheus中Summary类型指标的百分位数计算,默认使用的滑动时间窗口是10分钟(600秒)

对应到你提到的场景:当你在PromQL里执行my_summary{percentile="0.99"}查询时,返回的结果其实是基于过去10分钟内所有被采集到的my_summary观测值,排序后算出的99百分位数——也就是你说的,99%的观测值都小于等于这个临界值(等价于取排序后前1%的起始值)。

补充个实用知识点:这个滑动窗口时间是可以自定义的。如果你想用其他时长来统计,在定义Summary指标的时候(比如用客户端SDK),可以通过配置MaxAge参数来调整。举个Go客户端的例子:

import "time"
import "github.com/prometheus/client_golang/prometheus"

// 自定义滑动窗口为5分钟的Summary指标
mySummary := prometheus.NewSummary(prometheus.SummaryOpts{
    Name:       "my_summary",
    Help:       "Customized summary with 5-minute sliding window",
    Objectives: map[float64]float64{0.99: 0.001}, // 定义99百分位数及容忍误差
    MaxAge:     5 * time.Minute, // 设置滑动窗口为5分钟
})

需要注意的是,这个窗口是滑动式的,不是固定的时间块,它会持续保留最近N分钟的样本数据,实时更新百分位计算结果。

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

火山引擎 最新活动