diff --git a/metrics_summary.go b/metrics_summary.go index e4db826..3eed0e8 100644 --- a/metrics_summary.go +++ b/metrics_summary.go @@ -171,6 +171,13 @@ func (m *MetricsCollectorSummary) collectIncidents(callback chan<- func()) { } } + // Some incidents might not get acknowledged but do get resolved, or get resolved before the acknowledgement + // In those cases we count the resolution as the acknowledgement. + if acknowledgedAt.After(resolvedAt) { + m.Logger().Debug("Overwriting acknowledgedAt based on resolvedAt", slog.String("incident", incident.ID), slog.Time("from", acknowledgedAt), slog.Time("to", resolvedAt)) + acknowledgedAt = resolvedAt + } + incidentPriority := "" if incident.Priority != nil { incidentPriority = incident.Priority.Name