Skip to content

feat(monitors): aggregate service status across active monitors#2

Merged
mark-mckee merged 1 commit into
mainfrom
feature/multi-monitor-aggregation
May 9, 2026
Merged

feat(monitors): aggregate service status across active monitors#2
mark-mckee merged 1 commit into
mainfrom
feature/multi-monitor-aggregation

Conversation

@mark-mckee

Copy link
Copy Markdown
Owner

Prior behavior: the most recent monitor check unconditionally overwrote the linked service's status. With multiple monitors per service this caused recovery in one monitor to mask real outages in another.

New behavior: when applying a status change, compute the worst (per _STATUS_PRIORITY) across all active monitors on the service, treating the just-completed monitor's candidate as its current contribution. Service status is updated only when the aggregated state actually changes.

Preserves:

  • Single-monitor services: identical behavior.
  • Maintenance mode: still wins, untouched.
  • API-set status (token_auth, admin): untouched, bypasses aggregation.

Prior behavior: the most recent monitor check unconditionally overwrote the
linked service's status. With multiple monitors per service this caused
recovery in one monitor to mask real outages in another.

New behavior: when applying a status change, compute the worst (per
_STATUS_PRIORITY) across all active monitors on the service, treating the
just-completed monitor's candidate as its current contribution. Service
status is updated only when the aggregated state actually changes.

Preserves:
  - Single-monitor services: identical behavior.
  - Maintenance mode: still wins, untouched.
  - API-set status (token_auth, admin): untouched, bypasses aggregation.
@mark-mckee mark-mckee merged commit 4b1d499 into main May 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant