feat(health): oldest-parked-message age on the site health report (parked-retention aging signal)

This commit is contained in:
Joseph Doherty
2026-07-08 21:49:29 -04:00
parent 0321ad0c20
commit 11c72ecf0f
6 changed files with 88 additions and 2 deletions
@@ -47,7 +47,14 @@ public record SiteHealthReport(
// hosted service. Point-in-time (not reset on collect) — mirrors the
// SiteAuditBacklog pattern. Defaults to 0 so existing producers / tests that
// don't wire the poller stay valid.
long SiteEventLogWriteFailures = 0);
long SiteEventLogWriteFailures = 0,
// Age (seconds) of the oldest parked
// store-and-forward message, computed at report time on the site; null when no
// rows are parked. Parked rows persist until operator action, so this aging
// signal surfaces a forgotten site's stale backlog (count alone hides age).
// Additive-only trailing member — defaults to null for producers / tests that
// don't populate it.
double? OldestParkedMessageAgeSeconds = null);
/// <summary>
/// Broadcast wrapper used between central nodes to keep per-node