Pingtower Docs
Docs The service Uptime reports

Uptime reports

Uptime, outages and downtime for every check and status-page component over a period you pick, and how fast your team acknowledges and resolves alerts.

The report covers the whole team: every check in every project, every component on every status page, and the alert response times of each project. In the web app it is Uptime & SLA; the iOS app shows the same report under Account → Uptime & SLA.

Periods

Pick the last 7, 30 or 90 days, or a custom range of dates up to 366 days long. A custom range cannot reach past now. The report is computed from what Pingtower already keeps, so a range starting before a check or component existed simply has less in it.

Checks

One row per check:

ColumnMeaning
project, checkWhich check.
uptime_percentThe share of judged runs that passed. Empty when nothing in the period could be judged.
outagesHow many separate outages.
downtime_secondsTotal downtime.
longest_downtime_secondsThe longest single outage.
judged_runsHow many runs the figure is made of.

A check’s figures come from its hourly history. A run is judged unless it was an error (the check could not reach a verdict) or it ran while a maintenance window covered it. A run that came back up or degraded counts as passing; only down counts against uptime.

Downtime is counted by the hour: an hour with down runs adds the hour times the share of its judged runs that were down. An outage is a stretch of consecutive hours each with at least one down run. An hour with no history, or nothing judged, ends it.

Status-page components

One row per component, grouped by page:

ColumnMeaning
page_id, page, component_id, componentWhich component, on which page.
uptime_percentBy the page’s own rules, below. Empty when none of the period could be measured.
outages, downtime_seconds, longest_downtime_secondsAs for checks, from the component’s timeline.
maintenance_secondsHow much of the period maintenance took out of the measure.

A component’s uptime is time in state, the same figure its status page shows. Downtime is major outage time plus 0.3 of partial outage time; degraded is not downtime. Where states overlap, the worst one wins, so an hour that was both partial and major counts once, as major. Time before the component was created is left out.

Maintenance is left out too, neither up nor down, and reported as maintenance_seconds:

  • Time whose worst state was a shown window’s maintenance. An outage during that window is worse than maintenance, so it stays in and counts.
  • Time a window not shown on any status page covered, for a component whose every binding the window covers. That time is left out whole, outages included.

See Maintenance windows: on a status page for the difference. A window not shown on a status page is kept for 95 days after its last occurrence, so a custom range reaching further back than that no longer leaves its time out.

Response times

One row for the whole team, then one per project:

ColumnMeaning
alertsAlerts that opened in the period.
acknowledged, resolvedHow many of those were acknowledged, and resolved.
mtta_secondsMean time from opening to acknowledgement. Empty when none was acknowledged.
mttr_secondsMean time from opening to resolution. Empty when none was resolved.

An alert counts in the period it opened, whenever it was handled. The team row is over every alert of those projects, not an average of the projects’ averages.

Resolved alerts leave the alert history after thirty days by default. Before they go, the times these figures need (when the alert opened, was acknowledged and was resolved) are archived for a year from when it opened, so a range up to a year back still has them.

Export

Each of the three tables downloads as CSV from the web app, with the columns above in that order. An empty cell means there is no figure, which is different from zero. A name a spreadsheet would read as a formula (starting with =, +, - or @) is written with a leading '.

Who can see it

Every role, viewers included, and any custom role with sla:read. A member limited to some projects sees checks and response times only for the projects whose grant role holds sla:read. They see every status-page component, but its uptime and outages leave out what came from a binding to a project outside their grants.

Last updated 3 Oct 2026 Report a problem with this page