counter := prometheus.NewCounter(prometheus.CounterOpts{
Name: name ,
})
if err := prometheus.Register(counter); err != nil {
if are, ok := err.(prometheus.AlreadyRegisteredError); ok {
// A counter for that metric has been registered before.
// Use the old counter from now on.
log.Println("Use the old counter from now on: ", name)
counter = are.ExistingCollector.(prometheus.Counter)
} else {
// Something else went wrong!
return err
}
} else {
log.Println("Register NewCounter: ", name)
}
counter.Inc()
if err := push.New(PushGatewayUrl, "myjob").
Collector(counter).
Push(); err != nil {
log.Println("pushgateway Inc counter error:", err)
return err
}
log.Printf("pushgateway Inc counter done: [%s]\n", name)
return nil
prometheus pushgateway
最新推荐文章于 2024-08-19 16:24:28 发布