Repository navigation
ui/admin: add Response Metrics page - #4618
Open
AlameerAshraf wants to merge 4 commits into
Open
AlameerAshraf wants to merge 4 commits into
AlameerAshraf wants to merge 4 commits into
Conversation
Adds Admin > Response Metrics, a cross-service view of how quickly alerts are acknowledged and closed. It builds on the existing alert metrics (timeToAck, timeToClose, escalated) already used by the per-service Alert Metrics page, so no backend or schema changes are needed. The page shows, for the past 7/30/90 days: - summary cards: alert count, open/unacknowledged, median and p90 time to ack and time to close, and the share of closed alerts that escalated - a time-to-acknowledge distribution - alerts by hour of day (local time) - a per-service table with alert counts, escalation rate and median response times, linking to each service's Alert Metrics page Calculations live in util.ts with unit tests; a Cypress test covers the page and the time range selector. Signed-off-by: Alameer Ashraf <alamiir.ashraf@gmail.com>
Use compact bucket labels (e.g. "5–15m", "1–4h") and render every x-axis tick on the time-to-acknowledge chart so no bucket goes unlabeled. Signed-off-by: Alameer Ashraf <alamiir.ashraf@gmail.com>
Drop the alerts-by-hour chart and simplify the page, graph and tests to keep the change focused. Signed-off-by: Alameer Ashraf <alamiir.ashraf@gmail.com>
AlameerAshraf
force-pushed
the
feat/admin-response-metrics
branch
from
November 7, 2026 12:22
172ed8f to
0cfca68
Compare
Give the per-service table the full width so service names and column headers don't wrap. Signed-off-by: Alameer Ashraf <alamiir.ashraf@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Admin → Response Metrics (
/admin/response-metrics), a cross-service view of how quickly alerts are acknowledged and closed.Today response times are only visible per service (Services → Alert Metrics). Teams running on-call across several services don't have a single place to answer "how fast do we respond overall, and where are we slow?". This page fills that gap using the alert metrics GoAlert already records (
timeToAck,timeToClose,escalated), so there are no backend, schema or config changes. It reuses the existinguseAlertshook from the Alert Metrics page.What's on the page (past 7 / 30 / 90 days)
The time range is kept in the URL (
?range=P7D|P30D|P90D), like the other admin metrics pages.Notes
AutoSizer, theme colours), so they pick up the user's theme and light/dark mode.Screenshots
Local build with sample data (58 alerts across 4 services over 30 days).
Testing
web/src/app/admin/admin-response-metrics/util.test.ts(percentiles, ack distribution, per-service grouping, formatting):jestpasses.bun run check(tsc for app and cypress),eslintandprettierpass on the changed files.web/src/cypress/e2e/admin.cy.ts(page renders, per-service table, range selector). I haven't been able to run the Cypress suite locally, so I'd appreciate CI confirming it.Happy to open a tracking issue first or adjust scope (e.g. split the page or move it) if you'd prefer.