Uptime Monitoring
Monitor your site's availability and response times with automated checks every 5 minutes.
Pulse checks your site every 5 minutes and records whether it responds successfully. The results are displayed in a dedicated uptime dashboard alongside your analytics.
Enable uptime monitoring
Go to Settings for your site and toggle Uptime Monitoring on. Pulse immediately begins sending HTTP GET requests to https://your-domain from a remote monitoring node, expecting an HTTP 200 response within a 30-second timeout.
Note
Monitoring checks the root domain only. If you want to monitor a specific path or subdomain, register it as a separate site in Pulse.
Uptime dashboard
The uptime dashboard is at /sites/{id}/uptime.
Status indicator
The current status appears at the top:
| Status | Meaning |
|---|---|
| Operational | Last check returned HTTP 200 |
| Degraded | Site is responding but slowly (above threshold) |
| Down | Last check failed or timed out |
90-day availability bar
A colour-coded bar showing one cell per day for the past 90 days. Green is fully operational; yellow is degraded; red is down. Hover any cell to see a tooltip with:
- Uptime percentage for that day
- Number of checks performed
- Average response time
- Number of failures
Response time chart
A line chart of response times across the last 20 checks. Useful for spotting gradual degradation before an outage.
Recent checks
A list of the most recent check results, showing timestamp, HTTP status code, and response time in milliseconds. Failed checks display the error reason.
Overall uptime percentage
A single figure showing availability over the selected period, calculated as (successful checks / total checks) × 100.
Alerts
Configure alert channels in Settings → Alerts. When your site status changes — either going down or recovering — Pulse sends a notification immediately.
Supported channels:
- Email — specify one or more addresses
- Slack — provide an incoming webhook URL
- Discord — provide a webhook URL
- Webhook — a POST request with a JSON payload to any URL
Note
Every alert channel on a site receives every uptime alert for that site. See Uptime Alerts for the per-site limit and for pausing a channel.
What each number means
Availability
The share of uptime checks that came back healthy across the range. A degraded check — an unexpected status code under 500, or a response slower than 5 seconds — counts against it, and a failure only counts once the checker has confirmed it, so a single blip inside the grace window still reads as up. Days are your site's calendar days, like the rest of the product.
Response time
Average response time across every timed check, failures included. Exact p50 and p95 come from raw checks (kept 90 days) on ranges up to 8 days; longer ranges fall back to the stored daily average, labelled ‘avg’ — never an invented percentile.
Checks
Every uptime check run in the range. The Recent checks list shows the newest checks for the monitor whatever range is selected: when each ran, the status code it saw, and how long it took. The dot shows the confirmed status, so a blip inside the grace window still reads as up.
Incidents
Confirmed down or degraded episodes — the durable record. Raw checks are purged after 90 days; incidents are not, so the history of an episode outlives the individual checks that detected it.
Note
An incident is written when a status change is confirmed, not on the first failed check, so a single blip does not open one. Boundaries come from the check rows' own timestamps.
Site timezone
Days on this page are your site's calendar days, set per site in settings.
Warning
Uptime days recorded before the site-timezone conversion were cut as UTC days. Those days' raw checks have since been purged, so they cannot be re-cut — the page labels the boundary rather than silently mixing two kinds of day.