Skip to main content

Why long-range data uses rollups

Understand how aggregated rollups preserve long-term reliability trends after individual check records expire.

One-minute monitoring can create more than 500,000 check records in a year for one continuously active monitor. Loading every record whenever someone opens a chart would be slow, expensive, and unnecessary for most long-term questions.

Uptime Basics uses rollups to preserve useful history in compact time buckets.

What a rollup stores

A rollup combines checks from a fixed period and keeps summary values such as:

  • Total checks.
  • Successful checks.
  • Failed checks.
  • Sum and count of recorded response times.
  • Recent diagnostic context used by the system.

The Monitor Details API uses these totals to calculate availability and average response time without reading every underlying check.

Rollup sizes by view

  • The 24-hour summary uses five-minute rollups.
  • The 7-day and 1-month summaries use hourly rollups.
  • The 1-year summary uses daily rollups.

The Uptime Timeline can group those points further for readability. For example, the one-month chart has hourly response points while its calendar presents one status block per day.

Retention

Raw check records are retained for 30 days. Rollups are retained for up to 400 days. Confirmed incident history is retained for the life of the monitor.

This design provides:

  • Detailed per-check troubleshooting for recent events.
  • Efficient charts and availability trends for roughly one year.
  • Long-lived incident records for confirmed outages.

Paused and archived monitors stop producing new results, but their existing records continue to expire under the normal retention schedule.

What rollups preserve accurately

Rollups preserve the count of successful and failed checks. Availability can therefore be calculated from the same check-count formula:

successful checks / total checks x 100

Average response time remains weighted by the number of recorded response samples, not by giving every bucket equal importance.

What becomes less granular

Rollups do not preserve every old request as a separate row. As raw data expires:

  • Exact old timestamps, status codes, and error messages are no longer available in Detailed Logs.
  • The response chart shows hourly or daily averages rather than every request.
  • P95 for rollup-backed summaries is based on stored bucket averages, not the exact distribution of every old response.
  • A visual block indicates that failures occurred within a period, not the second-by-second duration of an outage.

Use an incident record for confirmed outage timing and activity after individual logs have expired.

Why this improves the product

Rollups reduce database reads, response payload size, browser work, and page-load time. They allow long-range views to scale across many monitors without making recent monitoring less frequent or less accurate.

Rollups do not reduce how often checks run. They change how historical results are stored and retrieved.

When raw checks are used as a fallback

If the requested range has no rollups but recent raw checks exist, the summary API can build metrics and chart buckets from those checks. This helps new monitors display useful data before all historical summaries are available.

A range with neither rollups nor raw checks displays no applicable data rather than inventing an Up result.

Related articles

Did this answer your question?

Your response helps improve this Help Center.