{"version":"0.1","as_of":1787736710,"worker_started_at":1787705496,"worker_uptime_seconds":31213,"total_requests":9703,"by_status_class":{"2xx":6764,"3xx":72,"4xx":2867,"5xx":0},"success_rate_pct":69.7104,"client_error_rate_pct":29.5476,"server_error_rate_pct":0.0,"server_error_first_at":null,"server_error_last_at":null,"scope":"per_worker_since_boot","cluster_aggregate":{"workers_seen":6,"total_requests":127506,"by_status_class":{"2xx":93214,"3xx":1092,"4xx":33200,"5xx":0},"success_rate_pct":73.1056,"client_error_rate_pct":26.038,"server_error_rate_pct":0.0,"workers":[{"id":"a2384a588e53:11","started_at":1787705495,"last_flush_at":1787736701,"total":17474,"5xx":0},{"id":"a2384a588e53:10","started_at":1787705495,"last_flush_at":1787736702,"total":24587,"5xx":0},{"id":"8dc512717a3d:119","started_at":1787705496,"last_flush_at":1787736703,"total":24948,"5xx":0},{"id":"8dc512717a3d:118","started_at":1787705496,"last_flush_at":1787736703,"total":15867,"5xx":0},{"id":"8dc512717a3d:120","started_at":1787705496,"last_flush_at":1787736702,"total":34929,"5xx":0},{"id":"8dc512717a3d:121","started_at":1787705496,"last_flush_at":1787736701,"total":9701,"5xx":0}],"scope":"cluster_since_each_worker_boot","note":"Sums per-worker counters across all workers that have flushed to Redis within the last 5 minutes. Workers reset on rolling reload, so the cluster total reflects current pool's traffic since each worker's most recent start (NOT since deploy time)."},"rolling_windows":{"24h":{"total":373915,"by_status_class":{"2xx":260130,"3xx":3336,"4xx":110449,"5xx":0},"success_rate_pct":69.5693,"client_error_rate_pct":29.5385,"server_error_rate_pct":0.0,"hours_with_data":24,"window_hours":24},"7d":{"total":1986978,"by_status_class":{"2xx":1367206,"3xx":20483,"4xx":599282,"5xx":7},"success_rate_pct":68.8083,"client_error_rate_pct":30.1605,"server_error_rate_pct":0.0004,"hours_with_data":168,"window_hours":168},"30d":{"total":9735906,"by_status_class":{"2xx":7242565,"3xx":71897,"4xx":2421407,"5xx":37},"success_rate_pct":74.3903,"client_error_rate_pct":24.8709,"server_error_rate_pct":0.0004,"hours_with_data":720,"window_hours":720}},"related":{"sla_url":"/v1/meta/sla","incidents_url":"/v1/meta/incidents","api_info_url":"/v1/meta/api-info","provider_state_url":"/v1/meta/provider-state"},"note":"Per-worker counters are in-process; cluster_aggregate sums from Redis-flushed counters refreshed every 60s. Workers reset on rolling reload. by_endpoint=true adds per-templated-path breakdown.","by_endpoint":{"scope":"per_worker_since_boot","total_templates_tracked":200,"cap":200,"sort_by":"5xx","limit":50,"endpoints":[{"path":"/v1/sports/{sport_key}/odds","total":3713,"by_status_class":{"2xx":2150,"3xx":0,"4xx":1563,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":42.0953},{"path":"/v1/sports/{sport_key}/events","total":1348,"by_status_class":{"2xx":1348,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/live/sse","total":739,"by_status_class":{"2xx":6,"3xx":0,"4xx":733,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":99.1881},{"path":"/v1/sports/{sport_key}/live/points","total":463,"by_status_class":{"2xx":463,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/meta/provider-state","total":421,"by_status_class":{"2xx":421,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/props","total":410,"by_status_class":{"2xx":341,"3xx":0,"4xx":69,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":16.8293},{"path":"/health","total":296,"by_status_class":{"2xx":296,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/healthz","total":296,"by_status_class":{"2xx":296,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/usage","total":187,"by_status_class":{"2xx":187,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/arbitrage","total":150,"by_status_class":{"2xx":52,"3xx":0,"4xx":98,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":65.3333},{"path":"/blog/{slug}","total":116,"by_status_class":{"2xx":84,"3xx":0,"4xx":32,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":27.5862},{"path":"/","total":114,"by_status_class":{"2xx":114,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/live/source-health","total":101,"by_status_class":{"2xx":101,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/ev","total":99,"by_status_class":{"2xx":98,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":1.0101},{"path":"/v1/sports/{sport_key}/live/period_markets","total":89,"by_status_class":{"2xx":89,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/meta/movers","total":72,"by_status_class":{"2xx":72,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/scores","total":69,"by_status_class":{"2xx":43,"3xx":0,"4xx":26,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":37.6812},{"path":"/v1/sports/{sport_key}/events/{event_id}/odds","total":66,"by_status_class":{"2xx":35,"3xx":0,"4xx":31,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":46.9697},{"path":"/live/api/data_flow","total":61,"by_status_class":{"2xx":61,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/consensus","total":59,"by_status_class":{"2xx":56,"3xx":0,"4xx":3,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":5.0847},{"path":"/v1/try/{sport_key}/odds","total":53,"by_status_class":{"2xx":41,"3xx":0,"4xx":12,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":22.6415},{"path":"/live/api/games","total":53,"by_status_class":{"2xx":46,"3xx":0,"4xx":7,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":13.2075},{"path":"/live/api/pbp","total":52,"by_status_class":{"2xx":52,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports","total":52,"by_status_class":{"2xx":7,"3xx":45,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/disagreement","total":43,"by_status_class":{"2xx":43,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/odds/coverage","total":29,"by_status_class":{"2xx":29,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/line-movement","total":27,"by_status_class":{"2xx":27,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/live","total":23,"by_status_class":{"2xx":22,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":4.3478},{"path":"/v1/sports/{sport_key}/injuries","total":23,"by_status_class":{"2xx":1,"3xx":0,"4xx":22,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":95.6522},{"path":"/live/api/sports","total":21,"by_status_class":{"2xx":21,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/historical/sports/{sport_key}/closing-odds","total":16,"by_status_class":{"2xx":14,"3xx":0,"4xx":2,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":12.5},{"path":"/v1/odds-drop/{sport_key}","total":15,"by_status_class":{"2xx":15,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/exchange/{sport_key}/markets","total":11,"by_status_class":{"2xx":11,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/props/markets","total":6,"by_status_class":{"2xx":6,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/baseball_mlb/odds/","total":6,"by_status_class":{"2xx":0,"3xx":6,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/meta/parser-coverage","total":6,"by_status_class":{"2xx":6,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/robots.txt","total":5,"by_status_class":{"2xx":5,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/command_center","total":4,"by_status_class":{"2xx":4,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sports/{sport_key}/props/coverage","total":4,"by_status_class":{"2xx":4,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/docs","total":4,"by_status_class":{"2xx":4,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/meta/per-book-sla","total":3,"by_status_class":{"2xx":3,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/sse/hot/{sport_key}","total":2,"by_status_class":{"2xx":2,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/bookmakers","total":2,"by_status_class":{"2xx":2,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/compare/{slug}","total":2,"by_status_class":{"2xx":2,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/sitemap-ai.xml","total":1,"by_status_class":{"2xx":1,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/signup","total":1,"by_status_class":{"2xx":1,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/docs/curl-cookbook","total":1,"by_status_class":{"2xx":1,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/_analytics/{path:path}","total":1,"by_status_class":{"2xx":1,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/wp-json/gravitysmtp/v1/tests/mock-data","total":1,"by_status_class":{"2xx":0,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":100.0},{"path":"/app/package.json","total":1,"by_status_class":{"2xx":0,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":100.0}],"note":"Templated paths only (e.g. /v1/sports/{sport_key}/odds, not the per-request expansion). Cap of 200 templates prevents adversarial 404-enumeration from blowing up the in-process dict."}}