method · every provider's API is checked each minute (each 5 min before 2026-08-31) · model rows prefer REAL partner traffic: the gateway's own per-request wall-clock measurements, folded into 5-min windows · models without recent traffic get a real 1-token request through the gateway each hour · a failed attempt is retried once before it counts · gateway: the health probe (GET /livez through api.conifer.build) comes first; if it fails, a real request is sent through the public API across three providers — both failing for 3 consecutive minutes = outage; a health probe failing while real requests answer, a full permit pool, a failover to the standby, or model checks failing under a green health probe all show amber with the cause named, never red · a check refused on this monitor's own credential (401/402) is a monitor fault: shown as such, never counted as model downtime · recovery is announced · uptime = reachable minutes / monitored minutes
honesty · faults on our monitor's own network are discarded, never shown as provider downtime · providers without a probeable API show as unmonitored, never as up · gaps render as gaps · user reports are shown as reports, never blended into measured uptime
latency · per-model graphs: gold/red = p50/p95 of settled real requests in each 5-min window (full response incl. streaming), grey dots = our 1-token checks (first-token time) · long agent turns are counted, so p95 reflects workload length, not queueing · the gateway chart names its source: gateway ledger = every request · telemetry = partial client sample · probe rtt is API reachability only