File tree 2 files changed +10
-5
lines changed
2 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ func main() {
29
29
30
30
sm := manager .NewSimpleManager ()
31
31
32
- sm .Init (manager.MetricSpec {
32
+ registry := sm .Init (manager.MetricSpec {
33
33
Metrics : conf .Metrics ,
34
34
})
35
35
@@ -62,7 +62,8 @@ func main() {
62
62
}
63
63
log .Info ("Subscribed to topic: " , conf .MqConfig .Topic )
64
64
65
- http .Handle ("/metrics" , promhttp .Handler ())
65
+ handler := promhttp .HandlerFor (registry , promhttp.HandlerOpts {})
66
+ http .Handle ("/metrics" , handler )
66
67
67
68
log .Info ("Starting up metric endpoint at :9641" )
68
69
log .Fatal (http .ListenAndServe (mqIP + ":9641" , nil ))
Original file line number Diff line number Diff line change 8
8
9
9
type Manager interface {
10
10
// Initialize the Metric Manager with a list of metrics to track
11
- Init (MetricSpec )
11
+ Init (MetricSpec ) * prometheus. Registry
12
12
// Update a set of metrics in a single message payload
13
13
Update (MQPayload )
14
14
}
@@ -26,7 +26,9 @@ func NewSimpleManager() *SimpleManager {
26
26
}
27
27
}
28
28
29
- func (m * SimpleManager ) Init (metricSpec MetricSpec ) {
29
+ func (m * SimpleManager ) Init (metricSpec MetricSpec ) * prometheus.Registry {
30
+ r := prometheus .NewRegistry ()
31
+
30
32
for _ , mc := range metricSpec .Metrics {
31
33
var metricCollector prometheus.Collector
32
34
@@ -44,12 +46,14 @@ func (m *SimpleManager) Init(metricSpec MetricSpec) {
44
46
}
45
47
46
48
// register this metric with Prometheus
47
- prometheus .MustRegister (metricCollector )
49
+ r .MustRegister (metricCollector )
48
50
49
51
// store this metric collector for future use
50
52
m .metrics [mc .MQName ] = metricCollector
51
53
m .metricTypes [mc .MQName ] = mc .Type
52
54
}
55
+
56
+ return r
53
57
}
54
58
55
59
func (m * SimpleManager ) Update (mqpayload MQPayload ) {
You can’t perform that action at this time.
0 commit comments