go - Prometheus 计数器:如何使用 golang 客户端获取当前值?
问题描述
我正在使用计数器来计算请求的数量。有没有办法获得普罗米修斯计数器的当前值?
我的目标是重用现有计数器而不分配另一个变量。
Golang prometheus 客户端版本为 1.1.0。
解决方案
很简单,有一个获取 Prometheus 计数器值的功能
import (
"github.com/prometheus/client_golang/prometheus"
dto "github.com/prometheus/client_model/go"
"github.com/prometheus/common/log"
)
func GetCounterValue(metric *prometheus.CounterVec) float64 {
var m = &dto.Metric{}
if err := metric.WithLabelValues("label1", "label2").Write(m); err != nil {
log.Error(err)
return 0
}
return m.Counter.GetValue()
}
推荐阅读
- kotlin - 协程“Asynchronous withTimeout”官方教程奇怪的行为
- python - 受其他实例属性影响的新 python 对象
- python - 如何使用 python Selenium 通过滚动来抓取动态加载网站
- google-analytics - 谷歌标签管理器中的 cookiebot 同意模式
- javascript - 无论如何要向 JavaScript 的对象数组插入变量吗?
- java - org.json.simple。获取唯一的嵌套值
- processing - 关于 setup() 函数中的 size()
- c# - 如何在 comun 32bits 平台中将 FileStream 从 c# 传递到 DLL c++,以写入或读取此 Stream/FileStream(有可能吗?)
- timestamp - rsync 不复制文件夹的时间戳
- google-chrome-extension - 用户更新到新版本后,内容脚本和后台脚本是否保持通信?