fix nil pointer refenerce when calc duration

This commit is contained in:
liugq 2023-08-08 16:25:21 +08:00
parent 4cc69c8e53
commit 2f0864f685
1 changed files with 6 additions and 2 deletions

View File

@ -706,11 +706,15 @@ func (engine *Engine) Do(rule *alerting.Rule) error {
priority = conditionResult.ConditionItem.Priority priority = conditionResult.ConditionItem.Priority
} }
} }
triggerAt := alertItem.Created
if alertMessage != nil {
triggerAt = alertMessage.Created
}
paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{ paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{
alerting2.ParamEventID: alertItem.ID, alerting2.ParamEventID: alertItem.ID,
alerting2.ParamTimestamp: alertItem.Created.Unix(), alerting2.ParamTimestamp: alertItem.Created.Unix(),
"duration": alertItem.Created.Sub(alertMessage.Created).String(), "duration": alertItem.Created.Sub(triggerAt).String(),
"trigger_at": alertMessage.Created.Unix(), "trigger_at": triggerAt.Unix(),
}) })
alertItem.Priority = priority alertItem.Priority = priority