828398b5ec
What players send (opt-in, unchanged switches) now describes the whole machine: CPU cores and base/boost clock, the GPU's maker, integrated or discrete and its VRAM, the drive under the game folder (NVMe/SSD/HDD), the screen (size, refresh, scale), on battery or mains, laptop or desktop. Perf, crash and bug items carry them in `system`; benchmark reports in `hardware`. No serials, host or user names, or paths. CONSENT_VERSION goes to 2, so players are asked again. The server keeps the new fields in `systems.extra` (the table is rebuilt once on old databases, ids kept). /v1/aggregate and /v1/benchmarks/summary add breakdowns by RAM class, VRAM class, drive, OS and integrated/discrete GPU; a class is published only with at least 3 different installs, never a raw value. website/scripts/benchmarks.mjs mirrors the classes on the shared fixtures. The summary's "not Horizon or plain vanilla" check returned None (accepted) instead of the rejection; it now matches the site's script. The launcher's "View what would be sent" and `data show` list every field. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
Benchmark summary fixtures
Shared by the website's aggregator test (website/scripts/benchmarks.test.mjs) and the telemetry server's
GET /v1/benchmarks/summary test: the same benchmark items in, the same groups out.
items.jsonl: one stored item per line (install_id,day,version,data: a benchmark report). Group RTX 4080 + i7-13700KF at render distance 12 has three installs (one with two runs); the same install at 32, and the RTX 3060 group, have fewer than three and are left out. The other runs are rejected: VSync on, offscreen, a frame cap, a missing scene, a one-scene scenario, a report of another version, no install ID.- Breakdowns: the RTX 4080 group's three installs share a VRAM class (16 GB), the OS and a discrete GPU, so those cells are published; a3 has 16 GB of RAM and an SSD where a1 and a2 have 32 GB and NVMe, so neither the RAM nor the drive cells reach three installs and those dimensions are left out.
expected.json:min_installsandgroupsof the summary (generatedvaries).