[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. 馃珫 Status page with uptime monitoring & API monitoring as code 馃珫 openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor

feat(dashboard): show per-region latency spread as range plots (#2917) master

* feat(tinybird): filter latency and timing phase endpoints by regions Add an optional regions parameter to the dns, grpc, http, icmp and tcp latency pipes and the http timing phase pipes, and to their client schemas. * feat(dashboard): show per-region latency spread as range plots Replace the regions table/chart tabs on the monitor overview with a single table that draws P50, P75鈥揚95, P90 and P99 per region on a shared axis (new RangePlot primitive), with a legend and the degraded threshold. - Latency charts respect the selected regions. - One reset button in the header covers period, regions, percentile and interval. - Drop ChartLineRegion(s) and region-metrics.client. - Extract isKeyboardOwned into lib/keyboard for page shortcuts. * fix(dashboard): address review on the regions range plot - Regions table only lists the selected regions (paid plans; free plans ignore the filter server-side) and shows an error state when the query fails instead of a skeleton. - getRegionAxisMax averages the two middle P99s for an even count. - The plot is role=img so its aria-label is announced; the P90 tick sits above the overflow badge; the hover card is pointer-transparent. - Reset tooltip shows Ctrl off Apple platforms (shared useModifierKey). - Latency pipes use {% if regions %} like the rest, so an empty array doesn't fall back to the ams,fra default. * fix(dashboard): axis headroom for clipped P99s, keyboard tests - getRegionAxisMax adds 10% headroom when a P99 is clipped, so the overflow badge sits clear of the markers near the edge. - Extract isResetShortcut and getModifierKey into lib/keyboard and cover them and isKeyboardOwned with tests. - Drop leftover commented className in ButtonReset. * docs(dashboard): describe when a region axis outlier is drawn vs flagged An outlier P99 that lands under the rounded axis (headroom included) is drawn as a normal marker; the cell only flags p99 > max. Pin that case.


+1171 -706
43 changed files