~learn.
0:00 / 1:10
Interview problem · Metrics monitoring

The hour looked calm. It hid a 30-second outage.

transcript

Your year-long graph shows a calm hour. Nothing happened. Except a 30-second outage. The graph swallowed it.

First, why that graph is summarised. A point every 10 seconds is about 3 million a year. Per series. Hourly rollups? 8,760. That's how a year-long query answers in seconds.

Raw points keep their 10-second detail for 7 days. Then a background job downsamples old blocks. 1-minute rollups, kept 30 days. Then 1-hour rollups, kept a year. The year-long dashboard reads those.

But here's the catch. What does one hourly point actually keep? Keep only the average, and the hour flattens.

Average only? A 30-second outage melts into a calm-looking hour. So every rollup keeps four numbers. Min, max, sum and count. Sum and count give a correct average. And max keeps the spike an average would hide.

Add percentiles from histograms, and spikes stay visible a year later. Summarise old data. But never keep only the average. Keep the max.

Full breakdown in the lecture.