Skip to content

Commit 577ddf0

Browse files
committed
Issue go-kit#937 : Using prometheus collector MustRegister in New{Counter,Gauge} and possible panic
1 parent ef2f77e commit 577ddf0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

metrics/prometheus/prometheus.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ type Counter struct {
2121
// and returns a usable Counter object.
2222
func NewCounterFrom(opts prometheus.CounterOpts, labelNames []string) *Counter {
2323
cv := prometheus.NewCounterVec(opts, labelNames)
24-
prometheus.MustRegister(cv)
25-
return NewCounter(cv)
24+
return NewCounter(prometheus.DefaultRegisterer, cv)
2625
}
2726

2827
// NewCounter wraps the CounterVec and returns a usable Counter object.
29-
func NewCounter(cv *prometheus.CounterVec) *Counter {
28+
func NewCounter(registerer prometheus.Registerer, cv *prometheus.CounterVec) *Counter {
29+
registerer.Register(cv)
3030
return &Counter{
3131
cv: cv,
3232
}
@@ -55,12 +55,12 @@ type Gauge struct {
5555
// and returns a usable Gauge object.
5656
func NewGaugeFrom(opts prometheus.GaugeOpts, labelNames []string) *Gauge {
5757
gv := prometheus.NewGaugeVec(opts, labelNames)
58-
prometheus.MustRegister(gv)
59-
return NewGauge(gv)
58+
return NewGauge(prometheus.DefaultRegisterer, gv)
6059
}
6160

6261
// NewGauge wraps the GaugeVec and returns a usable Gauge object.
63-
func NewGauge(gv *prometheus.GaugeVec) *Gauge {
62+
func NewGauge(registerer prometheus.Registerer, gv *prometheus.GaugeVec) *Gauge {
63+
registerer.Register(gv)
6464
return &Gauge{
6565
gv: gv,
6666
}

0 commit comments

Comments
 (0)