calc hit condition

This commit is contained in:
liugq 2023-08-17 10:17:30 +08:00
parent d7578a2743
commit 47733e63c8
1 changed files with 6 additions and 1 deletions

View File

@ -79,7 +79,6 @@ func (h *AlertAPI) ignoreAlertMessage(w http.ResponseWriter, req *http.Request,
"source": source, "source": source,
}, },
} }
log.Info(util.MustToJSON(queryDsl))
err = orm.UpdateBy(alerting.AlertMessage{}, util.MustToJSONBytes(queryDsl)) err = orm.UpdateBy(alerting.AlertMessage{}, util.MustToJSONBytes(queryDsl))
if err != nil { if err != nil {
h.WriteError(w, err.Error(), http.StatusInternalServerError) h.WriteError(w, err.Error(), http.StatusInternalServerError)
@ -355,8 +354,12 @@ func (h *AlertAPI) getAlertMessage(w http.ResponseWriter, req *http.Request, ps
return return
} }
metricExpression, _ := rule.Metrics.GenerateExpression() metricExpression, _ := rule.Metrics.GenerateExpression()
var hitCondition string
for i, cond := range rule.Conditions.Items { for i, cond := range rule.Conditions.Items {
expression, _ := cond.GenerateConditionExpression() expression, _ := cond.GenerateConditionExpression()
if cond.Priority == message.Priority {
hitCondition = strings.ReplaceAll(expression, "result", "")
}
rule.Conditions.Items[i].Expression = strings.ReplaceAll(expression, "result", metricExpression) rule.Conditions.Items[i].Expression = strings.ReplaceAll(expression, "result", metricExpression)
} }
var duration time.Duration var duration time.Duration
@ -384,6 +387,8 @@ func (h *AlertAPI) getAlertMessage(w http.ResponseWriter, req *http.Request, ps
"ignored_reason": message.IgnoredReason, "ignored_reason": message.IgnoredReason,
"ignored_user": message.IgnoredUser, "ignored_user": message.IgnoredUser,
"status": message.Status, "status": message.Status,
"expression": rule.Metrics.Expression,
"hit_condition": hitCondition,
} }
h.WriteJSON(w, detailObj, http.StatusOK) h.WriteJSON(w, detailObj, http.StatusOK)
} }