Add Prometheus registry flag to recorder

- fix tests
This commit is contained in:
Stefan Prodan
2018-10-29 14:04:45 +02:00
parent 3a28768bf9
commit 1b2108001f
3 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -83,7 +83,7 @@ func NewController(
metricsServer: metricServer,
}
recorder := NewCanaryRecorder()
recorder := NewCanaryRecorder(true)
ctrl := &Controller{
kubeClient: kubeClient,
+7 -4
View File
@@ -13,22 +13,25 @@ type CanaryRecorder struct {
weight *prometheus.GaugeVec
}
// NewCanaryRecorder registers the Prometheus metrics
func NewCanaryRecorder() CanaryRecorder {
// NewCanaryRecorder creates a new recorder and registers the Prometheus metrics
func NewCanaryRecorder(register bool) CanaryRecorder {
// 0 - running, 1 - successful, 2 - failed
status := prometheus.NewGaugeVec(prometheus.GaugeOpts{
Subsystem: controllerAgentName,
Name: "canary_status",
Help: "Last canary analysis result",
}, []string{"name", "namespace"})
prometheus.MustRegister(status)
weight := prometheus.NewGaugeVec(prometheus.GaugeOpts{
Subsystem: controllerAgentName,
Name: "canary_weight",
Help: "The virtual service destination weight current value",
}, []string{"workload", "namespace"})
prometheus.MustRegister(weight)
if register {
prometheus.MustRegister(status)
prometheus.MustRegister(weight)
}
return CanaryRecorder{
status: status,
+2 -2
View File
@@ -62,7 +62,7 @@ func TestScheduler_Init(t *testing.T) {
deployer: deployer,
router: router,
observer: observer,
recorder: NewCanaryRecorder(),
recorder: NewCanaryRecorder(false),
}
ctrl.flaggerSynced = alwaysReady
@@ -116,7 +116,7 @@ func TestScheduler_NewRevision(t *testing.T) {
deployer: deployer,
router: router,
observer: observer,
recorder: NewCanaryRecorder(),
recorder: NewCanaryRecorder(false),
}
ctrl.flaggerSynced = alwaysReady