mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 01:53:33 -06:00
The `rule_groups_rules` metric is currently defined and computed by `State`. It makes more sense for this metric to be computed off of the configured rule set, not based on the rule evaluation state. There could be an edge condition where a rule does not have a state yet, and so is uncounted. Additionally, we would like this metric (and others), to have a `rule_group` label, and this is much easier to achieve if the metric is produced from the `Scheduler` package.
22 lines
477 B
Go
22 lines
477 B
Go
package metrics
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
"github.com/prometheus/client_golang/prometheus/promauto"
|
|
)
|
|
|
|
type State struct {
|
|
AlertState *prometheus.GaugeVec
|
|
}
|
|
|
|
func NewStateMetrics(r prometheus.Registerer) *State {
|
|
return &State{
|
|
AlertState: promauto.With(r).NewGaugeVec(prometheus.GaugeOpts{
|
|
Namespace: Namespace,
|
|
Subsystem: Subsystem,
|
|
Name: "alerts",
|
|
Help: "How many alerts by state.",
|
|
}, []string{"state"}),
|
|
}
|
|
}
|