prometheus.NewHistogram() 用于直方图度量类型的 api
Posted
技术标签:
【中文标题】prometheus.NewHistogram() 用于直方图度量类型的 api【英文标题】:prometheus.NewHistogram() api for histogram metric type 【发布时间】:2021-12-11 11:06:32 【问题描述】:使用 github.com/prometheus/client_golang/prometheus
库来检测 GO 应用程序,用于指标:
在下面的代码中:
requestDurations := prometheus.NewHistogram(prometheus.HistogramOpts
Name: "http_request_duration_seconds"
Help: "A Histogram of the http request duration in secconds"
// Cumulative bucket upper bounds
Buckets: []float640.05, 0.1, 0.25, 0.5, 1, 2,5, 5, 10
)
requestDurations.Observe(0.42)
Buckets: []float640.05, 0.1, 0.25, 0.5, 1, 2,5, 5, 10
是什么意思?
requestDurations.Observe(0.42)
是什么意思?
【问题讨论】:
【参考方案1】:正如包装文档所述:
Buckets 定义了将观测值计入其中的存储桶。每个 切片中的元素是存储桶的上界。这 值必须严格按递增顺序排序。没有必要 添加一个带有 +Inf 约束的最高存储桶,它将被添加 含蓄地。默认值为 DefBuckets。
直方图统计桶中的观察值。使用此声明,您可以声明上限为 0.05、0.1、0.25、...、5、10、+inf 的存储桶。每个观察都将计入其中一个桶中。例如,Observe(0.42)
将增加上限 >=0.5 的存储桶。
【讨论】:
实际上是递增所有以上限为0.5的bucket开头的bucket。看起来这是累积的 是的,编辑了答案以反映这一点【参考方案2】:我建议您阅读大量的在线文档,例如Histograms
直方图由值桶表示。
第一个命令通过其上限定义直方图的桶:值
第二个命令通过增加
【讨论】:
以上是关于prometheus.NewHistogram() 用于直方图度量类型的 api的主要内容,如果未能解决你的问题,请参考以下文章