Reliability

Measured reliability

How fresh each league’s complete board is, how many line changes the stream missed, how fast gaps were repaired, and uptime over real windows. Every figure names its window. “No data yet” means the records do not span it.

Line moves only a full board found, 7 days
No data yet
43 whole hours counted
Stream gaps counted
2
Since 2026-11-03
Board collection uptime, 7 days
No data yet
6.2 days recorded
League board commit p95, 24 hours
26.8 s
Fetch to database

Complete-board freshness

A full league board compares every line we hold for that league against the source. Age is the time since the last one. Interval is the time between consecutive boards for a league. A complete board is one the source handed over whole.

Measured 2026-11-04 00:11 UTC

LeagueLines listedAge of last boardAge of last complete boardComplete boards, 24hInterval p50, 24hInterval p95, 24hLongest, 24hInterval p95, 7dComplete / partial / failed, 24h
CFB4,6718 min8 min12 of 5225 min57 min2.1 hNo data yet52 / 603 / 0
NHL4,10318 min18 min8 of 6023 min38 min44 minNo data yet60 / 603 / 0
NFL3,90029 min29 min2 of 4234 min56 min60 minNo data yet42 / 603 / 0
NBA3,20316 min16 min6 of 7018 min51 min67 minNo data yet70 / 599 / 0
UCL2,76239 min39 min4 of 6513 min52 min2.0 hNo data yet65 / 603 / 0
SOCCER83122 min22 min1 of 61.8 h2.0 h2.0 hNo data yet6 / 229 / 0
NHL1P81416 min16 min4 of 2229 min74 min11.9 hNo data yet22 / 304 / 0
TENNIS8081.7 h1.7 h2 of 1248 min19 min1.7 hNo data yet124 / 603 / 0
NFL1H44611 min11 min2 of 2259 min2.0 h2.0 hNo data yet22 / 603 / 0
CBB36126 min26 min5 of 2926 min63 min10.4 hNo data yet29 / 345 / 0
NFL1Q26327 min27 min2 of 161.5 h2.0 h2.0 hNo data yet16 / 603 / 0
CS223355 min55 min1 of 6511 min1.5 h2.0 hNo data yet64 / 560 / 0
LOL10624 min24 min4 of 181.7 h2.0 h2.0 hNo data yet18 / 603 / 0
NBA1Q6156 min56 min1 of 2833 min2.0 h2.0 hNo data yet27 / 554 / 0
EUROGOLF5573 min73 min1 of 778 min1.8 h1.9 hNo data yet7 / 225 / 0
PGA529 min9 min3 of 327 min31 min32 minNo data yet3 / 24 / 0
TT2590 min90 min1 of 3824 min1.6 h2.0 hNo data yet38 / 584 / 0
KBO2067 min67 min1 of 1284 min6.2 h10.3 hNo data yet11 / 336 / 0
WCBB1614 min14 min4 of 101.5 h1.8 h1.9 hNo data yet10 / 284 / 0
CFB1H122.0 h2.0 h1 of 1585 min2.0 h2.0 hNo data yet15 / 603 / 0
UFC733 min33 min1 of 132.0 h2.0 h2.0 hNo data yet13 / 603 / 0

A byte-identical board and an ingested board both count as a comparison. The run counts cover ingested boards only.

Stream against the full board

Of the line moves or removals recorded for a league, the share the WebSocket did not deliver and a REST board found. Counted from the first whole hour after the stream started. An upper bound on what the stream lost, because a poll can land first. Replayed events and first-seen lines are left out: the stream cannot announce a line it has never seen.

Counted through 2026-11-04 00:11 UTC

WindowMoves from streamMoves only a board foundMissing rate, movesRemovals from streamRemovals only a board foundMissing rate, removals
Last 24 hours, 2026-11-03 00:00 to 2026-11-04 00:00 UTC34,4531,4434.02%48,34143,32847.27%
Last 7 daysNo data yet: 43 whole hours counted so far
Since the stream started, 2026-11-02 05:00 to 2026-11-04 00:00 UTC56,7551,7252.95%113,71447,09029.28%

Per league, since the stream started

LeagueMoves from streamMoves only a board foundMissing rate, movesRemovals only a board foundMissing rate, removals
BAD800.00%3389.19%
CBB3204813.04%3,89155.36%
CFB2,659612.24%2012.42%
CFB1H19417.39%1326.00%
CS2451322.41%87851.56%
DARTS1019.09%3143.66%
DOTA211215.38%8080.00%
EPL1,37600.00%40.21%
EUROGOLF00No data yet0No data yet
KBO200.00%2251.16%
LA LIGA1,07000.00%70.45%
LOL1400.00%3088.23%
MLS100.00%00.00%
NBA21,8311,1164.86%27,81633.60%
NBA1H6956.76%51172.07%
NBA1Q755475.86%1,40724.67%
NBA2H23911933.24%37674.75%
NBA4Q1041411.86%19365.20%
NFL10,5761951.81%1,41414.64%
NFL1H135128.16%17021.36%
NFL1Q428163.60%51.72%
NFL2H693533.65%00.00%
NFL4Q6811.45%00.00%
NHL373123.12%2,20829.49%
NHL1P00No data yet45926.78%
PGA00No data yet73100.00%
SERIE A19200.00%29714.74%
SOCCER800.00%20.74%
TENNIS5,281130.25%3,07654.89%
TT1000.00%3090.91%
UCL11,062110.10%3,83317.61%
WCBB2000.00%3093.75%

WebSocket health

Connection health only. A connected stream says nothing about whether a league’s complete board is fresh. Those are the tables above.

Measured 2026-11-04 00:11 UTC

At last measurement
Connected
Both channels and healthy imports
Gaps, current process
2
Since 2026-11-03 22:05 UTC
Reconnects, current process
0
Since 2026-11-03 22:05 UTC
Process restarts seen
1
Since 2026-11-03

Stream gaps and repair

On reconnect the client asks the source to resume from its last position and records any discontinuity. The next complete league board then reconciles current lines: a REST row with a newer source revision corrects the stored line. Recovery time runs from a gap until every league on the board has had a complete board after it.

Gaps counted since sampling began
2
Since 2026-11-03
Gap duration p50
No data yet
From the durable gap log
Reconnect time p50
No data yet
Disconnect to resume
Recovery time p50
1.8 h
3 gaps measured, 0 in progress, longest 5.6 h
DetectedChannelKindLast publicationDisconnectedDurationPublications skippedLeagues reconciledRecovery time
2026-11-03 22:06 UTCgameDiscontinuous position2026-11-03 22:05 UTC2026-11-03 22:05 UTC21.5 s521 of 211.8 h
2026-11-03 22:05 UTCprojectionDiscontinuous position2026-11-03 22:05 UTC2026-11-03 22:05 UTC21.0 s2821 of 211.8 h
2026-11-03 14:11 UTCprojectionDiscontinuous position———222 of 225.6 h

A gap is a discontinuous stream position, or a recovery the source could not complete. Every gap is logged with its last publication, disconnect and resume times. Duration runs from the disconnect to the resume, or between the two receipts when the connection stayed up. Publications skipped is the offset jump within one stream epoch.

Ingest lag

Each row names its two clocks below.

Measured 2026-11-04 00:11 UTC

MeasureWindowSamplesp50p95p99
League board, fetch to commit24 hours8251.3 s26.8 s2 min
All-leagues board, fetch to commit24 hours6037.3 s76 s2 min
Source update to fetch24 hours69,40655.8 s4 minNo data yet
League board, fetch to commit7 daysNo data yetNo data yetNo data yetNo data yet
All-leagues board, fetch to commit7 daysNo data yetNo data yetNo data yetNo data yet
Source update to fetch7 daysNo data yetNo data yetNo data yetNo data yet
League board, fetch to commit30 daysNo data yetNo data yetNo data yetNo data yet
All-leagues board, fetch to commit30 daysNo data yetNo data yetNo data yetNo data yet
Source update to fetch30 daysNo data yetNo data yetNo data yetNo data yet
Stream offer, source to receipt24 hours52,49638 ms328 ms1.1 s
Stream score, source to receipt24 hours363,32044 ms3.1 h25.2 h
Stream receipt to commit24 hoursNo data yetNo data yetNo data yetNo data yet
Stream receipt to commit7 daysNo data yetNo data yetNo data yetNo data yet
Board fetch to commit
From fetching a board to committing it in the database. Exact percentiles over full ingests.
Source update to fetch
From the source update time on a changed line to the fetch that saw it. p50 and p95 are stored per ingest and weighted by updates. p99 comes from bucket counts over every update in the window and reads as the upper edge of its bucket.
Stream source to receipt
From the source timestamp on a stream publication to our receipt. Offers use the newest revision of each line; scores use stored score changes. Negative samples are clock skew and are excluded and counted. Between two different clocks, so read it as an estimate.
Stream receipt to commit
From receipt to the commit of its batch, for every publication. Counted into fixed buckets each minute, so each percentile reads as the upper edge of its bucket.

Uptime over real windows

A window appears once the records span all of it. Until then it says how many days exist.

Measured 2026-11-04 00:11 UTC

Measure24 hours7 days30 days90 days
Board collection100.00%No data yet: 6.2 d recordedNo data yet: 6.2 d recordedNo data yet: 6.2 d recorded
API requests without a 5xx99.67%
3 of 912
No data yet: 2.3 d recordedNo data yet: 2.3 d recorded—
REST requests to the source1,523
1 failed, 0 limited, 0 blocked
No data yet: 6.2 d recordedNo data yet: 6.2 d recordedNo data yet: 6.2 d recorded
WebSocket connected, sampledNo data yetNo data yetNo data yetNo data yet

Board collection since the first measurement on 2026-10-28: 99.05% of 1,791 five-minute intervals.

External probes, dated evidence through 2026-11-02 23:55 UTC

EndpointFirst probeLast probeChecksFailedPassed
/api/health2026-10-28 22:04 UTC2026-11-02 23:55 UTC26,3023699.863%
/status2026-10-28 22:05 UTC2026-11-02 23:53 UTC26,31015699.407%
/2026-10-28 22:05 UTC2026-11-02 23:55 UTC26,2940100.000%
Board collection
Share of five-minute intervals containing at least one successfully ingested board. Time-weighted over the window. Windows past 30 days read a daily rollup of whole UTC days.
API requests
Share of recorded non-demo API requests that did not return a 5xx. Weighted by requests, so a quiet period counts for little. Probes and customers are both included.
REST requests
Every REST request to the source and its outcome.
External probes
External checks from three regions every five minutes. Pass rate of the probes that ran, weighted by probe count. Not time-weighted. Download the evidence.