Skip to content

Commit 4546b16

Browse files
committed
controllers: add missing value render errors metric
Fixes: #7 maybe?
1 parent ed9ac8a commit 4546b16

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

pkg/controllers/configmapsecret_controller.go

+12
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/go-logr/logr"
1717
"github.com/machinezone/configmapsecrets/pkg/api/v1alpha1"
1818
"github.com/machinezone/configmapsecrets/third_party/kubernetes/forked/golang/expansion"
19+
"github.com/prometheus/client_golang/prometheus"
1920
corev1 "k8s.io/api/core/v1"
2021
apierrors "k8s.io/apimachinery/pkg/api/errors"
2122
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -32,10 +33,20 @@ import (
3233
"sigs.k8s.io/controller-runtime/pkg/event"
3334
"sigs.k8s.io/controller-runtime/pkg/handler"
3435
"sigs.k8s.io/controller-runtime/pkg/manager"
36+
"sigs.k8s.io/controller-runtime/pkg/metrics"
3537
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3638
"sigs.k8s.io/controller-runtime/pkg/source"
3739
)
3840

41+
var missingValues = prometheus.NewCounterVec(prometheus.CounterOpts{
42+
Name: "configmapsecret_controller_missing_value_render_errors_total",
43+
Help: "Total number of ConfigMapSecret controller render errors due to missing required values.",
44+
}, []string{"namespace"})
45+
46+
func init() {
47+
metrics.Registry.MustRegister(missingValues)
48+
}
49+
3950
// ConfigMapSecret reconciles a ConfigMapSecret object
4051
type ConfigMapSecret struct {
4152
client client.Client
@@ -218,6 +229,7 @@ func (r *ConfigMapSecret) sync(ctx context.Context, log logr.Logger, cms *v1alph
218229
}
219230
}()
220231
if isConfigError(err) {
232+
missingValues.WithLabelValues(cms.Namespace).Inc()
221233
log.Info("Unable to render ConfigMapSecret", "warning", err)
222234
return true, nil
223235
}

0 commit comments

Comments
 (0)