Show 90-day uptime bars on the status page

Every check is also counted in a per-day table that outlives the raw checks, so the public page
can draw one bar per UTC day with a tooltip, as most hosted status pages do. Existing databases
are backfilled once from the checks they still have.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
VeillaxandClaude Sonnet 5.5 committed 2026-10-27 04:22:54 -06:00
1 parent 73f45fb3ae
commit 4ea4fe5289
7 files changed
+221 -14

No files matched your search

+6
View File
@@ -191,6 +191,12 @@ A monitor goes down after the set number of failures in a row (default 2), raise
escalation policy, and recovers on the first success. Monitors marked public appear on `/status`, together with
incidents marked public. The status page never shows staff names or private monitors.
The status page shows each public monitor as 90 daily uptime bars, like most hosted status pages. A day is green with
no failed checks, amber when at least 99% of checks passed, red below that, and grey with no data. Hovering a bar
(or tapping it on a phone) gives the date, the uptime and the number of failed checks. Days are UTC. Counts are kept
in a small per-day table, so the bars go back 90 days even though raw check results are kept for
`SANDBAR_CHECK_DAYS` only.
Monitors cannot probe private or internal addresses unless you tick **Allow targets on private networks** on that
monitor, so a user who can add a monitor cannot use Sandbar to scan your network.