- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个程序,该程序公开了普罗米修斯的度量标准。
这是一个简单的程序,我想在结构上每次调用“运行”方法时都增加一个计数器。
import (
"log"
"net/http"
"time"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
type myStruct struct {
errorCount prometheus.Counter
}
func (s myStruct) initialize() {
s.errorCount = prometheus.NewCounter(prometheus.CounterOpts{
Name: "my_counter",
Help: "sample prometheus counter",
})
}
func (s myStruct) run() {
s.errorCount.Add(1)
}
func main() {
s := new(myStruct)
s.initialize()
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
s.run()
time.Sleep(time.Second)
}
}()
log.Fatal(http.ListenAndServe(":8080", nil))
}
s.errorCount.Inc()
最佳答案
在initialise()
中,s
通过值传递,这意味着在main()
中,s.errorCount
是nil
。
只需更改initialise
(和run
)的声明以获取指针。
func (s *myStruct) initialize() {
...
func init() {
go func() {
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
}()
}
type myStruct struct {
errorCount prometheus.Counter
}
func NewMyStruct() *myStruct {
return &myStruct {
errorCount: prometheus.NewCounter(prometheus.CounterOpts {
Name: "my_counter",
Help: "sample prometheus counter",
}),
}
}
func (s *myStruct) run() {
s.errorCount.Add(1)
}
func main() {
s := NewMyStruct()
go func() {
for {
s.run()
time.Sleep(time.Second)
}
}()
// ... OR select{}
}
关于go - Prometheus客户过早清理柜台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552935/
我正在做一个汉诺塔程序 - 有 3 个钉子,第 1 个钉子上有一堆磁盘,按从大到小的顺序排列(最大的在底部,最小的在顶部)。您现在要做的就是将所有磁盘从 peg 1 移动到 peg 3,您可以使用 p
我有一个这样的计数器: counter = Counter(['a','a','b','b','b','c']) 给出这个对象: Counter({'b': 3, 'a': 2, 'c': 1}) 然
我正在尝试使用bloc模式构建购物车,这是我第一个 flutter 的应用程序,也是使用bloc。我的问题是,每次用户将产品添加到购物车时,我都试图获取int流。但似乎我在使用接收器和流错误,但我不知
我正在编写一个Java应用程序,它有时会生成整数值。 java应用程序在Windows机器上运行。我不知道这是否可行,但我想知道是否可以为这些值创建一个 Windows 计数器“MyCounter”,
我有一个矩阵形状 (600, 900 亿) 保存为 *.txt 文件。矩阵的每一行由不同的样本名称 sample_name1、sample_name2 等命名。但是,有些样本名称未标准化,例如s###
更新:: 好的,所以我在头文件中添加了这些新行: static void gcdStatsCounter();//increments counter static void display(); /
我是一名优秀的程序员,十分优秀!