
A table of numbers hides a trend a chart shows in half a second. Spotting that a sensor’s readings are drifting, a queue’s depth is climbing, or a counter has flatlined used to mean opening a chart, picking which metric to plot, and setting a time range — for every metric, one at a time, on every record you wanted to check. That setup cost is exactly why trends get missed until someone else notices first.
Opening a record with metrics on it now shows all of them charted immediately, with no configuration step at all.
What changed
The Charts tab on any record now opens two views: Overview, on by default, and Custom, for deeper exploration.
- Overview renders a tile per metric automatically. Every metric attribute defined on the record’s template gets its own small chart the moment the tab opens — nothing to pick, nothing to add first.
- One shared time window for every tile. Four range presets — 1 hour, 24 hours, 7 days, 30 days — apply to all of a record’s metrics at once, each auto-sized to a bucket width that keeps a chart readable rather than a wall of points (1-minute buckets at 1 hour, out to 6-hour buckets at 30 days).
- One shared aggregation for every tile. Average, sum, min, max, first, or last — picked once from a menu, applied consistently across every metric so the tiles stay comparable to each other at a glance.
- Each tile carries its own latest, min, and max for the selected window, next to the chart itself — the headline number and the shape of the trend in the same glance.
- One click into the full custom view. Any tile expands directly into Custom — the existing multi-metric chart builder with its own bucket-width control and log-scale option — pre-scoped to that metric, range, and aggregation, for the one series that actually needs a closer look.
None of this is a new data source: it’s the same per-entity metric time-series that already powers the Custom chart view and the platform’s chart API, now surfaced with zero setup instead of requiring a metric and a range to be picked before anything renders.
A correctness fix that matters most at the wider ranges
Aggregating a metric into hourly, 6-hour, or larger buckets is exactly what the 7-day and 30-day Overview ranges rely on to stay readable instead of plotting every raw reading. A bug fixed just before this shipped could cause exactly that kind of bucketed query to return one point per raw sample instead of one point per bucket — at a 30-day range with readings logged every few minutes, that’s the difference between a chart with dozens of clean points and one buried under thousands. It’s fixed, and covered by a regression test asserting that every sample inside one bucket window collapses into a single point.
Charting was already something every metric attribute supported — the Custom view and the underlying API were there before this. What’s new is not having to ask for it: land on a record, and its metrics are already on screen, already comparable to each other, with the deeper view one click away for whichever one earns it.