Alerting: Update state manager to change all current states in the case when Error\NoData is executed as Ok\Nomal (#68142)
This commit is contained in:
@@ -142,6 +142,7 @@ type ExecutionResults struct {
|
||||
// Results is a slice of evaluated alert instances states.
|
||||
type Results []Result
|
||||
|
||||
// HasErrors returns true when Results contains at least one element with error
|
||||
func (evalResults Results) HasErrors() bool {
|
||||
for _, r := range evalResults {
|
||||
if r.State == Error {
|
||||
@@ -151,6 +152,26 @@ func (evalResults Results) HasErrors() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// HasErrors returns true when Results contains at least one element and all elements are errors
|
||||
func (evalResults Results) IsError() bool {
|
||||
for _, r := range evalResults {
|
||||
if r.State != Error {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return len(evalResults) > 0
|
||||
}
|
||||
|
||||
// IsNoData returns true when all items are NoData or Results is empty
|
||||
func (evalResults Results) IsNoData() bool {
|
||||
for _, result := range evalResults {
|
||||
if result.State != NoData {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// Result contains the evaluated State of an alert instance
|
||||
// identified by its labels.
|
||||
type Result struct {
|
||||
|
||||
Reference in New Issue
Block a user