{"version":"0.1","as_of":1789022084,"worker_started_at":1789017840,"worker_uptime_seconds":4243,"total_requests":3860,"by_status_class":{"2xx":2882,"3xx":7,"4xx":971,"5xx":0},"success_rate_pct":74.6632,"client_error_rate_pct":25.1554,"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":22885,"by_status_class":{"2xx":17155,"3xx":45,"4xx":5685,"5xx":0},"success_rate_pct":74.9618,"client_error_rate_pct":24.8416,"server_error_rate_pct":0.0,"workers":[{"id":"44130cd8678d:11","started_at":1789017840,"last_flush_at":1789022046,"total":3828,"5xx":0},{"id":"44130cd8678d:10","started_at":1789017841,"last_flush_at":1789022057,"total":3944,"5xx":0},{"id":"b197f9ea2440:21","started_at":1789017887,"last_flush_at":1789022033,"total":3484,"5xx":0},{"id":"b197f9ea2440:22","started_at":1789017888,"last_flush_at":1789022038,"total":3611,"5xx":0},{"id":"b197f9ea2440:23","started_at":1789017888,"last_flush_at":1789022036,"total":4229,"5xx":0},{"id":"b197f9ea2440:24","started_at":1789017888,"last_flush_at":1789022035,"total":3789,"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":470612,"by_status_class":{"2xx":353420,"3xx":1299,"4xx":115878,"5xx":15},"success_rate_pct":75.098,"client_error_rate_pct":24.6228,"server_error_rate_pct":0.0032,"hours_with_data":24,"window_hours":24},"7d":{"total":3219004,"by_status_class":{"2xx":2728475,"3xx":13124,"4xx":477377,"5xx":28},"success_rate_pct":84.7615,"client_error_rate_pct":14.83,"server_error_rate_pct":0.0009,"hours_with_data":138,"window_hours":168},"30d":{"total":11748425,"by_status_class":{"2xx":9022355,"3xx":73361,"4xx":2652671,"5xx":38},"success_rate_pct":76.7963,"client_error_rate_pct":22.5789,"server_error_rate_pct":0.0003,"hours_with_data":690,"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":88,"cap":200,"sort_by":"5xx","limit":50,"endpoints":[{"path":"/v1/sports/{sport_key}/odds","total":1653,"by_status_class":{"2xx":938,"3xx":0,"4xx":715,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":43.2547},{"path":"/v1/sports/{sport_key}/props","total":431,"by_status_class":{"2xx":257,"3xx":0,"4xx":174,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":40.3712},{"path":"/v1/sports/{sport_key}/events","total":364,"by_status_class":{"2xx":364,"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":337,"by_status_class":{"2xx":305,"3xx":0,"4xx":32,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":9.4955},{"path":"/health","total":116,"by_status_class":{"2xx":116,"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/points","total":107,"by_status_class":{"2xx":107,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/inplay/arbs","total":77,"by_status_class":{"2xx":72,"3xx":0,"4xx":5,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":6.4935},{"path":"/v1/usage","total":67,"by_status_class":{"2xx":67,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/healthz","total":55,"by_status_class":{"2xx":55,"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":50,"by_status_class":{"2xx":41,"3xx":0,"4xx":9,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":18.0},{"path":"/v1/sports","total":48,"by_status_class":{"2xx":47,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":2.0833},{"path":"/","total":47,"by_status_class":{"2xx":47,"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":45,"by_status_class":{"2xx":45,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/exchanges","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/stats","total":33,"by_status_class":{"2xx":33,"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":32,"by_status_class":{"2xx":32,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/v1/try/{sport_key}/odds","total":29,"by_status_class":{"2xx":23,"3xx":0,"4xx":6,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":20.6897},{"path":"/v1/sports/{sport_key}/events/{event_id}/odds","total":26,"by_status_class":{"2xx":26,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/mcp/http","total":23,"by_status_class":{"2xx":23,"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":19,"by_status_class":{"2xx":19,"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":17,"by_status_class":{"2xx":14,"3xx":0,"4xx":3,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":17.6471},{"path":"/v1/meta/movers","total":17,"by_status_class":{"2xx":17,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/disagreement","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/odds-drop/{sport_key}","total":14,"by_status_class":{"2xx":14,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/data_flow","total":12,"by_status_class":{"2xx":12,"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":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":"/blog/{slug}","total":11,"by_status_class":{"2xx":5,"3xx":0,"4xx":6,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":54.5455},{"path":"/live/api/best-books","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":"/_analytics/{path:path}","total":10,"by_status_class":{"2xx":10,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/games","total":10,"by_status_class":{"2xx":10,"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/period_markets","total":9,"by_status_class":{"2xx":9,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/live/api/pbp","total":9,"by_status_class":{"2xx":9,"3xx":0,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/glossary/{term}","total":7,"by_status_class":{"2xx":7,"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}/injuries","total":6,"by_status_class":{"2xx":0,"3xx":0,"4xx":6,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":100.0},{"path":"/live/api/sports","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/historical/source-quality.csv","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/try/{sport_key}/arbitrage","total":5,"by_status_class":{"2xx":2,"3xx":0,"4xx":3,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":60.0},{"path":"/books/{book_key}","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":"/v1/sports/{sport_key}/props/markets","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/exchange/{sport_key}/markets","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/try/{sport_key}/ev","total":4,"by_status_class":{"2xx":3,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":25.0},{"path":"/support","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/sports/{sport_key}/middles","total":3,"by_status_class":{"2xx":0,"3xx":0,"4xx":3,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":100.0},{"path":"/v1/sports/icehockey_nhl/odds/","total":3,"by_status_class":{"2xx":0,"3xx":3,"4xx":0,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":0.0},{"path":"/pricing","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":"/nfl/week-1-odds","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":"/signup","total":3,"by_status_class":{"2xx":1,"3xx":0,"4xx":2,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":66.6667},{"path":"/sports/{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":"/live/game/{event_id}","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/sports/{sport_key}/props/coverage","total":2,"by_status_class":{"2xx":1,"3xx":0,"4xx":1,"5xx":0,"other":0},"server_error_rate_pct":0.0,"client_error_rate_pct":50.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."}}