Add metric rule_group_rules_loaded to get the number of rules loaded (#5090)

Signed-off-by: Vishnunarayan K I <appukuttancr@gmail.com>
This commit is contained in:
Vishnunarayan K I 2019-01-13 19:58:07 +05:30 committed by Brian Brazil
parent 718344434c
commit fd3ef6ba34

View file

@ -71,6 +71,7 @@ type Metrics struct {
iterationsScheduled prometheus.Counter
groupLastEvalTime *prometheus.GaugeVec
groupLastDuration *prometheus.GaugeVec
groupRules *prometheus.GaugeVec
}
// NewGroupMetrics makes a new Metrics and registers them with then provided registerer,
@ -127,6 +128,14 @@ func NewGroupMetrics(reg prometheus.Registerer) *Metrics {
},
[]string{"rule_group"},
),
groupRules: prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Namespace: namespace,
Name: "rule_group_rules",
Help: "The number of rules.",
},
[]string{"rule_group"},
),
}
if reg != nil {
@ -139,6 +148,7 @@ func NewGroupMetrics(reg prometheus.Registerer) *Metrics {
m.iterationsScheduled,
m.groupLastEvalTime,
m.groupLastDuration,
m.groupRules,
)
}
@ -235,6 +245,7 @@ func NewGroup(name, file string, interval time.Duration, rules []Rule, shouldRes
metrics.groupLastEvalTime.WithLabelValues(groupKey(file, name))
metrics.groupLastDuration.WithLabelValues(groupKey(file, name))
metrics.groupRules.WithLabelValues(groupKey(file, name)).Set(float64(len(rules)))
return &Group{
name: name,