How we measure
What is checked
Every 5 minutes, each monitoring location makes real requests to E2C, the same way a buyer's or seller's browser would:
- Storefronts: Loads the home page of a live store.
- Cart and checkout: Loads the cart page of a live store and checks the order database answers.
- Seller dashboard: Loads the seller sign-in page.
- Public API: Calls the REST API and checks it answers.
A check fails if the request errors, times out after 10 seconds, returns the wrong HTTP status, or returns a page that is missing its expected content (so a blank or broken page doesn't pass). A check that passes but takes more than 5 seconds counts as degraded.
Where from
Probes run from Cloudflare data centres in eastern North America, western Europe, Asia-Pacific, plus a probe on GitHub Actions (Microsoft Azure) that runs outside Cloudflare's network once a day.
How a check is scored
- Down: more than half of the locations that checked it saw a failure.
- Degraded: exactly half failed, or most were slow. Degraded checks count as up.
- Not counted: fewer than two locations reported, so we can't confirm either way. These are left out of uptime rather than assumed to be up. A location our host turns away for sending automated traffic (HTTP 429) hasn't reported.
Each check stands for the 5 minutes until the next one. Uptime is (measured minutes − down minutes) ÷ measured minutes, rounded down. Scheduled maintenance is not excluded. Days run midnight to midnight UTC. We publish the 30, 90 and 365 day figures only once monitoring has covered the whole period.
Incidents
When a system fails 2 checks in a row, monitoring opens an incident automatically, with its start time taken from the first failed check. It resolves after 2 good checks in a row. Our team adds what happened and how merchants were affected. Raw results are kept for 14 days; daily totals are kept permanently.