restore method

void restore(
  1. Iterable<AlertEvent> records
)

恢复持久化的告警事件(跨重启不丢)。 Restore persisted alert events (survives restarts).

已存在相同 (source, message) 的事件会被跳过,避免重复计数。 Events whose (source, message) already exist are skipped to avoid double counting.

Implementation

void restore(Iterable<AlertEvent> records) {
  for (final r in records) {
    final exists = _events.any(
      (e) => e.source == r.source && e.message == r.message,
    );
    if (exists) continue;
    _events.addLast(r);
  }
  while (_events.length > _maxEvents) {
    _events.removeLast();
  }
}