mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Add doc comments to state struct and normalize fields (#56647)
This commit is contained in:
parent
fa09aef4ba
commit
52965de369
@ -49,7 +49,7 @@ func TestWarmStateCache(t *testing.T) {
|
|||||||
{
|
{
|
||||||
AlertRuleUID: rule.UID,
|
AlertRuleUID: rule.UID,
|
||||||
OrgID: rule.OrgID,
|
OrgID: rule.OrgID,
|
||||||
CacheId: `[["test1","testValue1"]]`,
|
CacheID: `[["test1","testValue1"]]`,
|
||||||
Labels: data.Labels{"test1": "testValue1"},
|
Labels: data.Labels{"test1": "testValue1"},
|
||||||
State: eval.Normal,
|
State: eval.Normal,
|
||||||
Results: []state.Evaluation{
|
Results: []state.Evaluation{
|
||||||
@ -62,7 +62,7 @@ func TestWarmStateCache(t *testing.T) {
|
|||||||
}, {
|
}, {
|
||||||
AlertRuleUID: rule.UID,
|
AlertRuleUID: rule.UID,
|
||||||
OrgID: rule.OrgID,
|
OrgID: rule.OrgID,
|
||||||
CacheId: `[["test2","testValue2"]]`,
|
CacheID: `[["test2","testValue2"]]`,
|
||||||
Labels: data.Labels{"test2": "testValue2"},
|
Labels: data.Labels{"test2": "testValue2"},
|
||||||
State: eval.Alerting,
|
State: eval.Alerting,
|
||||||
Results: []state.Evaluation{
|
Results: []state.Evaluation{
|
||||||
@ -125,7 +125,7 @@ func TestWarmStateCache(t *testing.T) {
|
|||||||
|
|
||||||
t.Run("instance cache has expected entries", func(t *testing.T) {
|
t.Run("instance cache has expected entries", func(t *testing.T) {
|
||||||
for _, entry := range expectedEntries {
|
for _, entry := range expectedEntries {
|
||||||
cacheEntry := st.Get(entry.OrgID, entry.AlertRuleUID, entry.CacheId)
|
cacheEntry := st.Get(entry.OrgID, entry.AlertRuleUID, entry.CacheID)
|
||||||
|
|
||||||
if diff := cmp.Diff(entry, cacheEntry, cmpopts.IgnoreFields(state.State{}, "Results")); diff != "" {
|
if diff := cmp.Diff(entry, cacheEntry, cmpopts.IgnoreFields(state.State{}, "Results")); diff != "" {
|
||||||
t.Errorf("Result mismatch (-want +got):\n%s", diff)
|
t.Errorf("Result mismatch (-want +got):\n%s", diff)
|
||||||
|
@ -240,7 +240,7 @@ func TestSchedule_ruleRoutine(t *testing.T) {
|
|||||||
for i := 0; i < 2; i++ {
|
for i := 0; i < 2; i++ {
|
||||||
states = append(states, &state.State{
|
states = append(states, &state.State{
|
||||||
AlertRuleUID: rule.UID,
|
AlertRuleUID: rule.UID,
|
||||||
CacheId: util.GenerateShortUID(),
|
CacheID: util.GenerateShortUID(),
|
||||||
OrgID: rule.OrgID,
|
OrgID: rule.OrgID,
|
||||||
State: s,
|
State: s,
|
||||||
StartsAt: sch.clock.Now(),
|
StartsAt: sch.clock.Now(),
|
||||||
|
@ -122,7 +122,7 @@ func (rs *ruleStates) getOrCreate(ctx context.Context, log log.Logger, alertRule
|
|||||||
newState := &State{
|
newState := &State{
|
||||||
AlertRuleUID: alertRule.UID,
|
AlertRuleUID: alertRule.UID,
|
||||||
OrgID: alertRule.OrgID,
|
OrgID: alertRule.OrgID,
|
||||||
CacheId: id,
|
CacheID: id,
|
||||||
Labels: lbs,
|
Labels: lbs,
|
||||||
Annotations: annotations,
|
Annotations: annotations,
|
||||||
EvaluationDuration: result.EvaluationDuration,
|
EvaluationDuration: result.EvaluationDuration,
|
||||||
@ -171,7 +171,7 @@ func (c *cache) set(entry *State) {
|
|||||||
if _, ok := c.states[entry.OrgID][entry.AlertRuleUID]; !ok {
|
if _, ok := c.states[entry.OrgID][entry.AlertRuleUID]; !ok {
|
||||||
c.states[entry.OrgID][entry.AlertRuleUID] = &ruleStates{states: make(map[string]*State)}
|
c.states[entry.OrgID][entry.AlertRuleUID] = &ruleStates{states: make(map[string]*State)}
|
||||||
}
|
}
|
||||||
c.states[entry.OrgID][entry.AlertRuleUID].states[entry.CacheId] = entry
|
c.states[entry.OrgID][entry.AlertRuleUID].states[entry.CacheID] = entry
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *cache) get(orgID int64, alertRuleUID, stateId string) *State {
|
func (c *cache) get(orgID int64, alertRuleUID, stateId string) *State {
|
||||||
|
@ -116,14 +116,14 @@ func (st *Manager) Warm(ctx context.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
lbs := map[string]string(entry.Labels)
|
lbs := map[string]string(entry.Labels)
|
||||||
cacheId, err := entry.Labels.StringKey()
|
cacheID, err := entry.Labels.StringKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
st.log.Error("error getting cacheId for entry", "msg", err.Error())
|
st.log.Error("error getting cacheId for entry", "msg", err.Error())
|
||||||
}
|
}
|
||||||
rulesStates.states[cacheId] = &State{
|
rulesStates.states[cacheID] = &State{
|
||||||
AlertRuleUID: entry.RuleUID,
|
AlertRuleUID: entry.RuleUID,
|
||||||
OrgID: entry.RuleOrgID,
|
OrgID: entry.RuleOrgID,
|
||||||
CacheId: cacheId,
|
CacheID: cacheID,
|
||||||
Labels: lbs,
|
Labels: lbs,
|
||||||
State: translateInstanceState(entry.CurrentState),
|
State: translateInstanceState(entry.CurrentState),
|
||||||
StateReason: entry.CurrentReason,
|
StateReason: entry.CurrentReason,
|
||||||
@ -169,7 +169,7 @@ func (st *Manager) ProcessEvalResults(ctx context.Context, evaluatedAt time.Time
|
|||||||
for _, result := range results {
|
for _, result := range results {
|
||||||
s := st.setNextState(ctx, alertRule, result, extraLabels)
|
s := st.setNextState(ctx, alertRule, result, extraLabels)
|
||||||
states = append(states, s)
|
states = append(states, s)
|
||||||
processedResults[s.CacheId] = s
|
processedResults[s.CacheID] = s
|
||||||
}
|
}
|
||||||
resolvedStates := st.staleResultsHandler(ctx, evaluatedAt, alertRule, processedResults)
|
resolvedStates := st.staleResultsHandler(ctx, evaluatedAt, alertRule, processedResults)
|
||||||
if len(states) > 0 {
|
if len(states) > 0 {
|
||||||
@ -384,9 +384,9 @@ func (st *Manager) staleResultsHandler(ctx context.Context, evaluatedAt time.Tim
|
|||||||
|
|
||||||
for _, s := range allStates {
|
for _, s := range allStates {
|
||||||
// Is the cached state in our recently processed results? If not, is it stale?
|
// Is the cached state in our recently processed results? If not, is it stale?
|
||||||
if _, ok := states[s.CacheId]; !ok && stateIsStale(evaluatedAt, s.LastEvaluationTime, alertRule.IntervalSeconds) {
|
if _, ok := states[s.CacheID]; !ok && stateIsStale(evaluatedAt, s.LastEvaluationTime, alertRule.IntervalSeconds) {
|
||||||
st.log.Debug("removing stale state entry", "orgID", s.OrgID, "alertRuleUID", s.AlertRuleUID, "cacheID", s.CacheId)
|
st.log.Debug("removing stale state entry", "orgID", s.OrgID, "alertRuleUID", s.AlertRuleUID, "cacheID", s.CacheID)
|
||||||
st.cache.deleteEntry(s.OrgID, s.AlertRuleUID, s.CacheId)
|
st.cache.deleteEntry(s.OrgID, s.AlertRuleUID, s.CacheID)
|
||||||
ilbs := ngModels.InstanceLabels(s.Labels)
|
ilbs := ngModels.InstanceLabels(s.Labels)
|
||||||
_, labelsHash, err := ilbs.StringAndHash()
|
_, labelsHash, err := ilbs.StringAndHash()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -117,7 +117,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid",
|
AlertRuleUID: "test_alert_rule_uid",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid",
|
"__alert_rule_uid__": "test_alert_rule_uid",
|
||||||
@ -172,7 +172,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_1","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_1","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid",
|
AlertRuleUID: "test_alert_rule_uid",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_1","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_1","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid",
|
"__alert_rule_uid__": "test_alert_rule_uid",
|
||||||
@ -196,7 +196,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_2","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_2","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid",
|
AlertRuleUID: "test_alert_rule_uid",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_2","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["instance_label_2","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid",
|
"__alert_rule_uid__": "test_alert_rule_uid",
|
||||||
@ -254,7 +254,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_1"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_1"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_1",
|
AlertRuleUID: "test_alert_rule_uid_1",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_1"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_1"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_1",
|
"__alert_rule_uid__": "test_alert_rule_uid_1",
|
||||||
@ -316,7 +316,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -389,7 +389,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -484,7 +484,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -566,7 +566,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -631,7 +631,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -696,7 +696,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -761,7 +761,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -827,7 +827,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -892,7 +892,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -918,7 +918,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -983,7 +983,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-1"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-1"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-1"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-1"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1009,7 +1009,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-2"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-2"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-2"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test-2"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1035,7 +1035,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1102,7 +1102,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1133,7 +1133,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1192,7 +1192,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1259,7 +1259,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1327,7 +1327,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1418,7 +1418,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1498,7 +1498,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1578,7 +1578,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1652,7 +1652,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1752,7 +1752,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1834,7 +1834,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1922,7 +1922,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid_2",
|
AlertRuleUID: "test_alert_rule_uid_2",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid_2"],["alertname","test_title"],["instance_label","test"],["label","test"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
"__alert_rule_uid__": "test_alert_rule_uid_2",
|
||||||
@ -1982,7 +1982,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["cluster","us-central-1"],["job","prod/grafana"],["label","test"],["namespace","prod"],["pod","grafana"]]`: {
|
`[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["cluster","us-central-1"],["job","prod/grafana"],["label","test"],["namespace","prod"],["pod","grafana"]]`: {
|
||||||
AlertRuleUID: "test_alert_rule_uid",
|
AlertRuleUID: "test_alert_rule_uid",
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["cluster","us-central-1"],["job","prod/grafana"],["label","test"],["namespace","prod"],["pod","grafana"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","test_namespace_uid"],["__alert_rule_uid__","test_alert_rule_uid"],["alertname","test_title"],["cluster","us-central-1"],["job","prod/grafana"],["label","test"],["namespace","prod"],["pod","grafana"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
"__alert_rule_namespace_uid__": "test_namespace_uid",
|
||||||
"__alert_rule_uid__": "test_alert_rule_uid",
|
"__alert_rule_uid__": "test_alert_rule_uid",
|
||||||
@ -2027,7 +2027,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
assert.Len(t, states, len(tc.expectedStates))
|
assert.Len(t, states, len(tc.expectedStates))
|
||||||
|
|
||||||
for _, s := range tc.expectedStates {
|
for _, s := range tc.expectedStates {
|
||||||
cachedState := st.Get(s.OrgID, s.AlertRuleUID, s.CacheId)
|
cachedState := st.Get(s.OrgID, s.AlertRuleUID, s.CacheID)
|
||||||
assert.Equal(t, s, cachedState)
|
assert.Equal(t, s, cachedState)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2059,7 +2059,7 @@ func TestProcessEvalResults(t *testing.T) {
|
|||||||
}
|
}
|
||||||
require.Len(t, savedStates, len(states))
|
require.Len(t, savedStates, len(states))
|
||||||
for _, s := range states {
|
for _, s := range states {
|
||||||
require.Contains(t, savedStates, s.CacheId)
|
require.Contains(t, savedStates, s.CacheID)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -2140,7 +2140,7 @@ func TestStaleResultsHandler(t *testing.T) {
|
|||||||
`[["__alert_rule_namespace_uid__","namespace"],["__alert_rule_uid__","` + rule.UID + `"],["alertname","` + rule.Title + `"],["test1","testValue1"]]`: {
|
`[["__alert_rule_namespace_uid__","namespace"],["__alert_rule_uid__","` + rule.UID + `"],["alertname","` + rule.Title + `"],["test1","testValue1"]]`: {
|
||||||
AlertRuleUID: rule.UID,
|
AlertRuleUID: rule.UID,
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
CacheId: `[["__alert_rule_namespace_uid__","namespace"],["__alert_rule_uid__","` + rule.UID + `"],["alertname","` + rule.Title + `"],["test1","testValue1"]]`,
|
CacheID: `[["__alert_rule_namespace_uid__","namespace"],["__alert_rule_uid__","` + rule.UID + `"],["alertname","` + rule.Title + `"],["test1","testValue1"]]`,
|
||||||
Labels: data.Labels{
|
Labels: data.Labels{
|
||||||
"__alert_rule_namespace_uid__": "namespace",
|
"__alert_rule_namespace_uid__": "namespace",
|
||||||
"__alert_rule_uid__": rule.UID,
|
"__alert_rule_uid__": rule.UID,
|
||||||
@ -2188,7 +2188,7 @@ func TestStaleResultsHandler(t *testing.T) {
|
|||||||
"__alert_rule_uid__": rule.UID,
|
"__alert_rule_uid__": rule.UID,
|
||||||
})
|
})
|
||||||
for _, s := range tc.expectedStates {
|
for _, s := range tc.expectedStates {
|
||||||
cachedState := st.Get(s.OrgID, s.AlertRuleUID, s.CacheId)
|
cachedState := st.Get(s.OrgID, s.AlertRuleUID, s.CacheID)
|
||||||
assert.Equal(t, s, cachedState)
|
assert.Equal(t, s, cachedState)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2219,8 +2219,8 @@ func TestStaleResults(t *testing.T) {
|
|||||||
t.Helper()
|
t.Helper()
|
||||||
require.Len(t, actual, len(expected))
|
require.Len(t, actual, len(expected))
|
||||||
for _, currentState := range actual {
|
for _, currentState := range actual {
|
||||||
_, ok := expected[currentState.CacheId]
|
_, ok := expected[currentState.CacheID]
|
||||||
require.Truef(t, ok, "State %s is not expected. States: %v", currentState.CacheId, expected)
|
require.Truef(t, ok, "State %s is not expected. States: %v", currentState.CacheID, expected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2283,7 +2283,7 @@ func TestStaleResults(t *testing.T) {
|
|||||||
expectedStaleReturned: {},
|
expectedStaleReturned: {},
|
||||||
})
|
})
|
||||||
for _, s := range processed {
|
for _, s := range processed {
|
||||||
if s.CacheId == expectedStaleReturned {
|
if s.CacheID == expectedStaleReturned {
|
||||||
assert.Truef(t, s.Resolved, "Returned stale state should have Resolved set to true")
|
assert.Truef(t, s.Resolved, "Returned stale state should have Resolved set to true")
|
||||||
assert.Equal(t, eval.Normal, s.State)
|
assert.Equal(t, eval.Normal, s.State)
|
||||||
assert.Equal(t, models.StateReasonMissingSeries, s.StateReason)
|
assert.Equal(t, models.StateReasonMissingSeries, s.StateReason)
|
||||||
|
@ -15,26 +15,52 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type State struct {
|
type State struct {
|
||||||
AlertRuleUID string
|
|
||||||
OrgID int64
|
OrgID int64
|
||||||
CacheId string
|
AlertRuleUID string
|
||||||
|
|
||||||
|
// CacheID is a unique, opaque identifier for the state, and is used to find the state
|
||||||
|
// in the state cache. It tends to be derived from the state's labels.
|
||||||
|
CacheID string
|
||||||
|
|
||||||
|
// State represents the current state.
|
||||||
|
State eval.State
|
||||||
|
|
||||||
|
// StateReason is a textual description to explain why the state has its current state.
|
||||||
|
StateReason string
|
||||||
|
|
||||||
|
// Results contains the result of the current and previous evaluations.
|
||||||
|
Results []Evaluation
|
||||||
|
|
||||||
|
// Error is set if the current evaluation returned an error. If error is non-nil results
|
||||||
|
// can still contain the results of previous evaluations.
|
||||||
|
Error error
|
||||||
|
|
||||||
|
// Resolved is set to true if this state is the transitional state between Firing and Normal.
|
||||||
|
// All subsequent states will be false until the next transition from Firing to Normal.
|
||||||
|
Resolved bool
|
||||||
|
|
||||||
|
// Image contains an optional image for the state. It tends to be included in notifications
|
||||||
|
// as a visualization to show why the alert fired.
|
||||||
|
Image *models.Image
|
||||||
|
|
||||||
|
// Annotations contains the annotations from the alert rule. If an annotation is templated
|
||||||
|
// then the template is first evaluated to derive the final annotation.
|
||||||
|
Annotations map[string]string
|
||||||
|
|
||||||
|
// Labels contain the labels from the query and any custom labels from the alert rule.
|
||||||
|
// If a label is templated then the template is first evaluated to derive the final label.
|
||||||
|
Labels data.Labels
|
||||||
|
|
||||||
|
// Values contains the values of any instant vectors, reduce and math expressions, or classic
|
||||||
|
// conditions.
|
||||||
|
Values map[string]float64
|
||||||
|
|
||||||
StartsAt time.Time
|
StartsAt time.Time
|
||||||
EndsAt time.Time
|
EndsAt time.Time
|
||||||
LastSentAt time.Time
|
LastSentAt time.Time
|
||||||
|
|
||||||
State eval.State
|
|
||||||
StateReason string
|
|
||||||
LastEvaluationString string
|
LastEvaluationString string
|
||||||
LastEvaluationTime time.Time
|
LastEvaluationTime time.Time
|
||||||
EvaluationDuration time.Duration
|
EvaluationDuration time.Duration
|
||||||
Results []Evaluation
|
|
||||||
Resolved bool
|
|
||||||
Annotations map[string]string
|
|
||||||
Labels data.Labels
|
|
||||||
Values map[string]float64
|
|
||||||
Image *models.Image
|
|
||||||
Error error
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *State) GetRuleKey() models.AlertRuleKey {
|
func (a *State) GetRuleKey() models.AlertRuleKey {
|
||||||
@ -192,7 +218,7 @@ func (a *State) NeedsSending(resendDelay time.Duration) bool {
|
|||||||
func (a *State) Equals(b *State) bool {
|
func (a *State) Equals(b *State) bool {
|
||||||
return a.AlertRuleUID == b.AlertRuleUID &&
|
return a.AlertRuleUID == b.AlertRuleUID &&
|
||||||
a.OrgID == b.OrgID &&
|
a.OrgID == b.OrgID &&
|
||||||
a.CacheId == b.CacheId &&
|
a.CacheID == b.CacheID &&
|
||||||
a.Labels.String() == b.Labels.String() &&
|
a.Labels.String() == b.Labels.String() &&
|
||||||
a.State.String() == b.State.String() &&
|
a.State.String() == b.State.String() &&
|
||||||
a.StartsAt == b.StartsAt &&
|
a.StartsAt == b.StartsAt &&
|
||||||
|
Loading…
Reference in New Issue
Block a user