Skip to content

Reading uptime history, and how long it is kept

Where each uptime number lives — the site list, the Uptime tab, the Monitoring page — how daily percentages and incident durations are calculated, and exactly how long every kind of monitoring record is stored.

Every check is written down, and everything you can read later is built from those records — nothing is estimated, and nothing is filled in where a measurement is missing. This page is where each number lives, how it is calculated and how far back it goes.

The quick look: the site list

The Uptime column shows each site's state right now and a strip of the last 24 hours, one block per hour. It is the screen for “is anything wrong at this moment”, and nothing more: for history you open a site.

One site: the Uptime tab

Open a site and pick Uptime. From the top:

  • Current state and last check — up, down, in maintenance or not checked yet, with the time of the last check and, for an ongoing outage, how long it has been going on.
  • The 90-day strip — one block per day for the last 90 days, with the daily percentage and, on a bad day, how many checks failed out of how many. The average across the window is printed next to it.
  • Response time, last 24 hours — the hourly average, with the average and peak for the window. Failed checks store no response time at all, so a bad hour does not drag the average down to zero; it simply has fewer points.
  • Incidents — the outages of the last 90 days, each with its cause, when it started, how long it lasted, and an ongoing marker while it is still open. On paid plans each incident also lists the changes WP Safer recorded on that site in the minutes before it started — labelled as things that happened close in time, not as a cause.
  • The extra checks your plan includes — TLS certificate expiry, domain expiry, DNS records, the DNS/TCP/TLS/server breakdown, WP-Cron, the plugin connection. A check your plan does not include is shown locked rather than empty, so you can see what exists.
  • Monitoring notices — the “not downtime” list: DNS or nameserver changes, a domain nearing expiry, WP-Cron behind, the plugin gone quiet.
  • Update checks, the automatic-update pause if there is one, the maintenance window, the Site Health score and the badge settings.

The whole fleet: the Monitoring page

Monitoring in the sidebar answers questions about all your sites at once: what is down right now, uptime across the fleet over 24 hours and over 90 days, the hourly status of the last day, the slowest sites, certificates and domain names expiring soon, sites that answer but are not healthy, sites whose automatic updates are paused, Site Health with the lowest scores first, the most recent incidents across every site, and the recent notices.

It also states, in one line, how often your plan checks each site and where the checks come from.

How the numbers are worked out

Each check is one data point: reachable or not, and if reachable, how long it took. A day's percentage is the share of successful checks that day, which is why the number depends on your plan's interval — a site checked every 30 seconds has 2,880 points a day, one checked every 5 minutes has 288, and a five-minute outage costs a different fraction of each.

An incident starts at the first failed check, not at the confirmation that opened it and not when the alert reached you, and it ends at the first successful check. So recorded downtime is slightly longer than the time between your two e-mails, and that is the honest direction to err in.

Where there is no measurement, nothing is invented. A day with no checks is drawn empty, a percentage with no data is shown as “—”, and a site added an hour ago says so instead of claiming 100% uptime.

How long it is kept

  • Individual checks: 90 days. The raw record of every request, with its HTTP code, response time and error type.
  • Daily summaries: 90 days. What the strip is drawn from — which is why the strip covers 90 days and cannot be made longer without keeping more.
  • Monitoring notices: 90 days.
  • The change log behind incident correlation: 180 days.
  • Update check records: 90 days.
  • PageSpeed measurements: 180 days.

Deletion runs once a day, in the background. Nothing has to be cleaned up by hand, and nothing grows without limit.

Taking history out of the panel

Two ways, both built from the same records:

  • The public status page on Agency publishes the current state and the same 90 days of history for the sites you choose, with your own branding, to people who do not sign in.
  • The monthly report on paid plans e-mails the previous calendar month per site and across the fleet. Both are described in the status page and reports article.

There is no CSV or API export of the monitoring history today. If you need the raw numbers for a specific period, ask support and say which sites and which dates.