Status

All systems operational

The live health of every BobRay component, refreshed every hour, plus our full incident history. We publish this openly because a tool you trust with your traffic should never make you guess about its own.

Everything is running smoothly

Last health check: this hour · next automatic check at the top of the hour

Tracking ingestion
The endpoint every snippet reports to. If this is up, your pageviews are being counted, everything else is presentation.
Operational
p50 12ms · 2.1M req/hr
Dashboard & app
The web app at app.bobray.com, login, live view, reports, and settings.
Operational
p50 88ms
REST API
The v1 stats endpoints used by integrations, exports, and your own tooling.
Operational
p50 34ms
CDN (script delivery)
Serves the 1KB tracker from edge locations worldwide. Cached aggressively; even an origin outage would not stop delivery.
Operational
p50 9ms edge
Email reports & webhooks
Scheduled report generation and webhook delivery. Queued jobs retry automatically, so brief delays here never lose data.
Operational
queue lag 3s

90-day uptime history · ingestion

100% ≥ 99.9% degraded < 99.9%
99.99%
30-day uptime
42ms
Avg API response
1.9B
Events / 30 days
0
Open incidents
Methodology

How these numbers are measured

A status page is only as honest as its probes. Here is exactly what feeds this page.

External probes

Synthetic checks hit every component from six regions on three continents, once per minute. A component is "down" only when two consecutive checks fail from two or more regions, so a single flaky network path never triggers a false alarm.

Real-user latency

The p50 figures above come from actual production traffic, not lab tests: the median time our servers took to accept a beacon or answer an API call over the last hour. Medians, because averages hide tail pain.

Uptime math

Each day's bar reflects minutes of confirmed availability over total minutes. Planned maintenance windows announced 72 hours ahead count against uptime anyway, if you couldn't use it, it wasn't up.

Track record

Incident history

Every incident in the past 12 months, in full. We write these up the same day and never quietly delete them.

Degraded dashboard queries in EU-West · resolved
A routine database index rebuild ran longer than planned, slowing dashboard loads to 2–4 seconds for roughly 18% of accounts. Ingestion was unaffected, no data was lost. We now rebuild indexes on replicas first and promote them, making the operation invisible.
April 2026 · 41 minutes · dashboard only
Delayed email reports · resolved
Our transactional email provider throttled a batch of Monday-morning reports; deliveries arrived up to 3 hours late. Webhooks and the dashboard were unaffected. We added a second provider with automatic failover, report sends now race both.
January 2026 · 3 hours delay · email reports only
Elevated ingestion latency during traffic spike · resolved
A customer's site went unexpectedly viral (congratulations, by the way) and regional ingestion p50 briefly rose from 12ms to 210ms while autoscaling caught up. No beacons were dropped, the buffer absorbed the wave. We halved autoscaler reaction time afterwards.
October 2025 · 9 minutes · elevated latency, zero data loss
Want incident notifications? Scale customers can add a status webhook under Settings → Webhooks; everyone can email support@bobray.com with subject "status updates" to join the notification list.
Questions

Status FAQ

Two consecutive successful probe rounds from at least five of our six monitoring regions, plus real-user latency within twice its 30-day median. Anything less shows as degraded, we would rather look slightly worse than quietly lie.
Pageviews during a full ingestion outage are lost, we deliberately never queue data on visitors' devices, since that would require the exact storage we refuse to use. In practice ingestion has the most redundancy of any component and hasn't had a full outage in the product's history; the October 2025 spike above is the closest call, with zero loss.
Never. The tracker loads deferred and fails silently; if our CDN or API is unreachable, your pages render exactly as normal with no console errors visible to visitors. Analytics should never be able to take a site down, yours or ours.
Component checks run every minute internally; this public page summarizes them hourly, which is honest without turning a status page into a dashboard that itself needs a status page. During an active incident we switch to minute-level updates and a banner.
Yes. If the service wasn't usable, it counts as downtime regardless of whether we scheduled it. Maintenance is announced at least 72 hours ahead and designed to be zero-downtime; the numbers above include every maintenance window.
Enterprise contracts include a 99.9% SLA with service credits. All other plans get the same infrastructure without the paperwork, this page and our 12-month record (above 99.98%) are the working guarantee.
Ingestion, processing, and storage run across two EU regions (Netherlands and Germany) with automatic failover between them. Only the script CDN has global edge presence, it serves a static file and holds no data.

Seeing something we're not?

If your dashboard misbehaves while this page is green, we want to know immediately.