perf worker: LibMP performance reports from Street Soccer Pro clients and servers ingest (INGEST_TOKEN) POST /v1/reports report json -> { id, issues, upload } PUT /v1/reports/:id/snapshot raw MicroProfiler snapshot (x-snapshot-encoding: zstd | none) read (READ_TOKEN; add ?format=text or Accept: text/plain for terminal output) GET /v1/reports since side reason version user job device scene region issue raw=1 limit before GET /v1/reports/:id full summary, context and fresh diagnosis GET /v1/reports/:id/snapshot raw snapshot bytes GET /v1/issues issue counts and share of reports GET /v1/stats?by=version|device|region|scene|reason|quality|side|day GET /v1/systems ECS system cost across reports (list=systems|phases) GET /v1/scopes engine scope cost across reports (list=main|workers|gpu) GET /v1/servers server memory growth per job (leak suspects) GET /v1/servers/:job one server's report timeline GET /v1/compare?a=V&b=V version regression check POST /v1/render { side, summary, context } -> diagnosis without storing