Uptime monitors list: show at-a-glance Up/Down status per row
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 10m
- Merged PRs (30d)
- 635
Description
### Problem Statement
On the Monitors page, the uptime monitors list (Name / Type / Last Issue / Assignee) gives no
immediate signal of whether each monitor is currently **up or down**. To see a monitor's live
state you have to open it individually. With more than a handful of uptime checks, triage means
clicking into each one.
Tools like UptimeRobot solve this with a single green/red status indicator per row, so the
health of the whole fleet is readable at a glance. Sentry's uptime list has no equivalent
per-row current-status indicator.
### Solution Brainstorm
Add a compact **Status** column to the uptime monitors list rendering a colored indicator + label:
- 🟢 **Up** when `uptimeStatus === OK`
- 🔴 **Down** when `uptimeStatus === FAILED`
The data already exists server-side: `UptimeDetectorSerializer` emits `uptimeStatus`
(`UptimeStatus` IntEnum, `OK = 1` / `FAILED = 2`) in `src/sentry/uptime/endpoints/serializers.py`.
The Up/Down text + badge mapping already exists on the frontend (`UptimeStatusText` in
`static/app/views/alerts/list/rules/combinedAlertBadge.tsx`, keyed on `UptimeMonitorStatus`).
Because the list is the shared Detectors list, the column can be added **only for the uptime
view** via the existing `additionalColumns` extension seam on `MonitorViewContext`
(`static/app/views/detectors/monitorViewContext.tsx`) — leaving metric and cron lists
unaffected. The current uptime enum has two states (OK / FAILED), so a two-color green/red
indicator is the honest representation of the available data.
This looks frontend-only; happy to open the PR.
### Product Area
Crons
Contributor guide
Research direction
Start with MonitorViewContext in static/app/views/detectors/monitorViewContext.tsx and trace the uptime list's additionalColumns seam, then inspect UptimeStatusText in combinedAlertBadge.tsx and uptimeStatus from src/sentry/uptime/endpoints/serializers.py. Done means the uptime view shows a labeled green Up or red Down status per row without changing metric or cron lists.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, typescript
- Domain
- frontend, observability-sre
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100