From a063a76e7cf77148c2c3f9152ff0ceb9a7389003 Mon Sep 17 00:00:00 2001 From: Shreya2005-2005 Date: Wed, 13 May 2026 06:04:22 +0000 Subject: [PATCH] fix: add rule label to node_readiness_evaluation_duration_seconds metric. Signed-off-by: Shreya2005-2005 --- internal/controller/nodereadinessrule_controller.go | 2 +- internal/metrics/metrics.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/controller/nodereadinessrule_controller.go b/internal/controller/nodereadinessrule_controller.go index 6feb083..a9a2ec6 100644 --- a/internal/controller/nodereadinessrule_controller.go +++ b/internal/controller/nodereadinessrule_controller.go @@ -292,7 +292,7 @@ func (r *RuleReadinessController) processAllNodesForRule(ctx context.Context, ru // evaluateRuleForNode evaluates a single rule against a single node. func (r *RuleReadinessController) evaluateRuleForNode(ctx context.Context, rule *readinessv1alpha1.NodeReadinessRule, node *corev1.Node) error { - timer := prometheus.NewTimer(metrics.EvaluationDuration) + timer := prometheus.NewTimer(metrics.EvaluationDuration.WithLabelValues(rule.Name)) defer timer.ObserveDuration() log := ctrl.LoggerFrom(ctx) diff --git a/internal/metrics/metrics.go b/internal/metrics/metrics.go index bb0d906..414343d 100644 --- a/internal/metrics/metrics.go +++ b/internal/metrics/metrics.go @@ -40,12 +40,13 @@ var ( ) // EvaluationDuration tracks the duration of rule evaluations. - EvaluationDuration = prometheus.NewHistogram( + EvaluationDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "node_readiness_evaluation_duration_seconds", - Help: "Duration of rule evaluations", + Help: "Duration of rule evaluations per rule", Buckets: prometheus.DefBuckets, }, + []string{"rule"}, ) // Failures tracks the number of operational failures.