{
  "task": "M1-04",
  "generatedBy": "pnpm zone:bots (cargo run --release -p zoen-bots --bin bots)",
  "what": "1000 bots over WebSocket on loopback against the in-process zone server: linear connect ramp 20 s, then a 60 s hold (bandwidth per bot is measured over the hold), then a 1000 close each",
  "behaviours": {"walk": "waypoint wander steered by the own exact position in each snapshot; one input per snapshot (20/s), an ack per snapshot, a ping per second", "fight": "hunters cast every castEveryS once inside their zone and stand still castMs; the cast is a bot-side timer (counted, not sent): protocol v1 input has no action/skill bits", "chat": "not in protocol v1: a bot-side timer every chatEveryS (counted, not sent)", "mix": {"townSharePermille": 250, "townRadiusMm": 50000, "pauseMs": [0, 3000], "castMs": 800, "castEveryMs": [2000, 6000], "chatEveryMs": [15000, 45000], "source": "netcode.json loadTest (botMix proposed by M1-04)"}},
  "harness": {"bots": 1000, "workers": 4, "rampS": 20, "snapshotWorkers": 1, "fieldSpawnPermille": 500, "holdS": 60, "runS": 80.167, "threads": "bots run on 4 poll(2) worker threads, not one OS thread per bot: the in-process server already runs two threads per client plus the tick on this 8-core Mac, and a worker wakes about once per tick for all its sockets instead of 1,000 threads waking 40+ times a second"},
  "machine": {"os": "macos", "arch": "aarch64", "availableParallelism": 8, "loadAverageBefore": "54.78 41.94 32.60", "loadAverageAfter": "62.33 48.55 36.01", "loadAndRss": [{"tS": 0.0, "load": "54.78 41.94 32.60", "rssKiB": 2336}, {"tS": 10.0, "load": "49.15 41.14 32.42", "rssKiB": 155680}, {"tS": 20.0, "load": "43.83 40.26 32.21", "rssKiB": 304832}, {"tS": 30.0, "load": "80.76 48.22 35.13", "rssKiB": 304832}, {"tS": 40.0, "load": "71.00 47.21 34.92", "rssKiB": 304832}, {"tS": 50.0, "load": "80.71 49.98 36.04", "rssKiB": 304832}, {"tS": 60.0, "load": "76.63 50.12 36.25", "rssKiB": 304928}, {"tS": 70.0, "load": "67.78 49.10 36.05", "rssKiB": 304512}, {"tS": 80.0, "load": "62.33 48.55 36.01", "rssKiB": 303312}, {"tS": 80.2, "load": "62.33 48.55 36.01", "rssKiB": 273152}]},
  "thresholds": {"loopP99Ms": 15.000, "avgDownstreamBps": 12000, "hardCapBps": 32000, "source": "netcode.json tick.targetP99Ms, loadTest.avgDownstreamKBps, snapshot.hardCapKBps (KB = 1,000 B)"},
  "bots": {"requested": 1000, "joined": 1000, "connectErrors": 0, "disconnects": 0, "cleanCloses": 1000, "inField": 500, "spawnedInField": 500, "snapshots": 1234842, "fullSnapshots": 1069, "missedTicks": 563, "inputs": 1234842, "acks": 1234842, "pings": 67520, "pongs": 67043, "waypointsReached": 1909, "castsNotSent": 8363, "chatLinesNotSent": 1854},
  "downstreamBpsPerBotHold": {"mean": 3316.3, "p50": 692.7, "p95": 8683.9, "p99": 8973.6, "max": 9238.7, "samples": 1000},
  "upstreamBpsPerBotHold": {"mean": 458.6, "p50": 458.7, "p95": 459.2, "p99": 459.3, "max": 459.5, "samples": 1000},
  "rttMs": {"mean": 73.154, "p50": 40.622, "p95": 161.816, "p99": 1080.330, "max": 2216.787, "samples": 67043},
  "botSeries": [{"tS": 1.0, "joined": 48, "downBpsPerBot": 598}, {"tS": 2.0, "joined": 100, "downBpsPerBot": 1698}, {"tS": 3.0, "joined": 148, "downBpsPerBot": 2843}, {"tS": 4.0, "joined": 198, "downBpsPerBot": 3639}, {"tS": 5.0, "joined": 248, "downBpsPerBot": 4089}, {"tS": 6.0, "joined": 298, "downBpsPerBot": 4883}, {"tS": 7.0, "joined": 348, "downBpsPerBot": 5266}, {"tS": 8.0, "joined": 398, "downBpsPerBot": 5399}, {"tS": 9.0, "joined": 448, "downBpsPerBot": 5400}, {"tS": 10.0, "joined": 498, "downBpsPerBot": 5478}, {"tS": 11.0, "joined": 548, "downBpsPerBot": 5275}, {"tS": 12.0, "joined": 598, "downBpsPerBot": 5348}, {"tS": 13.0, "joined": 650, "downBpsPerBot": 5320}, {"tS": 14.0, "joined": 698, "downBpsPerBot": 5307}, {"tS": 15.0, "joined": 747, "downBpsPerBot": 5200}, {"tS": 16.0, "joined": 798, "downBpsPerBot": 5547}, {"tS": 17.0, "joined": 849, "downBpsPerBot": 5432}, {"tS": 18.0, "joined": 898, "downBpsPerBot": 5454}, {"tS": 19.0, "joined": 948, "downBpsPerBot": 5469}, {"tS": 20.0, "joined": 998, "downBpsPerBot": 5456}, {"tS": 21.0, "joined": 1000, "downBpsPerBot": 5439}, {"tS": 22.0, "joined": 1000, "downBpsPerBot": 5147}, {"tS": 23.0, "joined": 1000, "downBpsPerBot": 5045}, {"tS": 24.0, "joined": 1000, "downBpsPerBot": 5047}, {"tS": 25.0, "joined": 1000, "downBpsPerBot": 4790}, {"tS": 26.0, "joined": 1000, "downBpsPerBot": 4556}, {"tS": 27.0, "joined": 1000, "downBpsPerBot": 4406}, {"tS": 28.0, "joined": 1000, "downBpsPerBot": 4380}, {"tS": 29.0, "joined": 1000, "downBpsPerBot": 4288}, {"tS": 30.0, "joined": 1000, "downBpsPerBot": 4310}, {"tS": 31.0, "joined": 1000, "downBpsPerBot": 4247}, {"tS": 32.0, "joined": 1000, "downBpsPerBot": 4158}, {"tS": 33.0, "joined": 1000, "downBpsPerBot": 4110}, {"tS": 34.0, "joined": 1000, "downBpsPerBot": 4093}, {"tS": 35.0, "joined": 1000, "downBpsPerBot": 4004}, {"tS": 36.0, "joined": 1000, "downBpsPerBot": 3949}, {"tS": 37.0, "joined": 1000, "downBpsPerBot": 3709}, {"tS": 38.0, "joined": 1000, "downBpsPerBot": 4210}, {"tS": 39.0, "joined": 1000, "downBpsPerBot": 3870}, {"tS": 40.0, "joined": 1000, "downBpsPerBot": 3797}, {"tS": 41.0, "joined": 1000, "downBpsPerBot": 3843}, {"tS": 42.0, "joined": 1000, "downBpsPerBot": 3595}, {"tS": 43.0, "joined": 1000, "downBpsPerBot": 3886}, {"tS": 44.0, "joined": 1000, "downBpsPerBot": 3586}, {"tS": 45.0, "joined": 1000, "downBpsPerBot": 3806}, {"tS": 46.0, "joined": 1000, "downBpsPerBot": 3659}, {"tS": 47.0, "joined": 1000, "downBpsPerBot": 3651}, {"tS": 48.0, "joined": 1000, "downBpsPerBot": 3666}, {"tS": 49.0, "joined": 1000, "downBpsPerBot": 3583}, {"tS": 50.0, "joined": 1000, "downBpsPerBot": 3575}, {"tS": 51.0, "joined": 1000, "downBpsPerBot": 3471}, {"tS": 52.0, "joined": 1000, "downBpsPerBot": 3432}, {"tS": 53.0, "joined": 1000, "downBpsPerBot": 3423}, {"tS": 54.0, "joined": 1000, "downBpsPerBot": 3499}, {"tS": 55.1, "joined": 1000, "downBpsPerBot": 748}, {"tS": 56.0, "joined": 1000, "downBpsPerBot": 371}, {"tS": 57.0, "joined": 1000, "downBpsPerBot": 308}, {"tS": 58.0, "joined": 1000, "downBpsPerBot": 37}, {"tS": 59.0, "joined": 1000, "downBpsPerBot": 1808}, {"tS": 60.0, "joined": 1000, "downBpsPerBot": 1813}, {"tS": 61.0, "joined": 1000, "downBpsPerBot": 1968}, {"tS": 62.0, "joined": 1000, "downBpsPerBot": 2167}, {"tS": 63.0, "joined": 1000, "downBpsPerBot": 4237}, {"tS": 64.0, "joined": 1000, "downBpsPerBot": 3463}, {"tS": 65.0, "joined": 1000, "downBpsPerBot": 3440}, {"tS": 66.0, "joined": 1000, "downBpsPerBot": 3414}, {"tS": 67.0, "joined": 1000, "downBpsPerBot": 3331}, {"tS": 68.0, "joined": 1000, "downBpsPerBot": 3268}, {"tS": 69.0, "joined": 1000, "downBpsPerBot": 3309}, {"tS": 70.0, "joined": 1000, "downBpsPerBot": 3122}, {"tS": 71.0, "joined": 1000, "downBpsPerBot": 3500}, {"tS": 72.0, "joined": 1000, "downBpsPerBot": 2756}, {"tS": 73.0, "joined": 1000, "downBpsPerBot": 3590}, {"tS": 74.0, "joined": 1000, "downBpsPerBot": 3344}, {"tS": 75.0, "joined": 1000, "downBpsPerBot": 3269}, {"tS": 76.0, "joined": 1000, "downBpsPerBot": 2902}, {"tS": 77.2, "joined": 1000, "downBpsPerBot": 267}, {"tS": 78.2, "joined": 1000, "downBpsPerBot": 105}, {"tS": 79.0, "joined": 1000, "downBpsPerBot": 431}, {"tS": 80.0, "joined": 1000, "downBpsPerBot": 3839}],
  "loop": {"what": "server loop iteration (ingest + tick + all snapshots + hand-off), ramp and hold", "ticks": 1439, "p50Ms": 16.600, "p99Ms": 2611.863, "maxMs": 2611.863, "meanMs": 27.462, "overTarget": 828, "overBudget": 119, "catchUpTicks": 94, "droppedTicks": 160, "stalls": 15, "maxLatenessMs": 2681.001},
  "tickThreadCpu": {"perLoop": {"meanMs": 10.946, "p50Ms": 12.310, "p99Ms": 16.900, "maxMs": 32.099, "n": 1439}, "wholeRunMsPerTick": 10.962, "note": "CPU time of the tick thread per loop iteration (CLOCK_THREAD_CPUTIME_ID); CPU well under wall time means the thread waited for a core", "workerCpuPerLoop": {"meanMs": 0.000, "p50Ms": 0.000, "p99Ms": 0.000, "maxMs": 0.000, "n": 0}, "workerNote": "snapshot worker threads (shards 1..n) summed per loop; the tick thread runs shard 0"},
  "phases": {"ingest": {"meanMs": 1.267, "p50Ms": 0.440, "p99Ms": 12.930, "maxMs": 332.201, "n": 1439}, "tick": {"meanMs": 2.778, "p50Ms": 1.750, "p99Ms": 15.190, "maxMs": 640.962, "n": 1439}, "snapshotBuild": {"meanMs": 14.518, "p50Ms": 9.560, "p99Ms": 98.750, "maxMs": 942.287, "n": 1439}, "handOff": {"meanMs": 8.888, "p50Ms": 4.140, "p99Ms": 56.910, "maxMs": 1053.906, "n": 1439}, "poolWait": {"meanMs": 0.007, "p50Ms": 0.010, "p99Ms": 0.020, "maxMs": 4.427, "n": 1439}, "what": "wall time per loop phase: ingest = drain the inbound queue; tick = sim + spatial hash + interest; snapshotBuild = delta snapshots, handOff = take a free buffer, frame, queue to the writer thread (both of the slowest shard when snapshotWorkers > 1); poolWait = the rest of the parallel section (wake, barrier, merge)"},
  "slowTicks": {"count": 828, "phaseMeanMs": {"ingest": 1.964, "tick": 4.018, "snapshotBuild": 21.506, "handOff": 13.852, "poolWait": 0.011}, "cpuMeanMs": 13.619, "what": "loop iterations over the p99 target and where their wall time went"},
  "frames": {"sent": 1304746, "skipped": 563, "snapshotErrors": 0, "maxSnapshotPayloadBytes": 1448},
  "inputs": {"applied": 1234842, "stale": 0, "dropped": 0},
  "server": {"accepted": 1000, "joins": 1000, "leaves": 1000, "peakClients": 1000, "full": 0, "idleTimeouts": 0, "badMessages": 0, "threadsLeft": 0, "downMeanBps": 3636.5, "downMaxBps": 9741.1},
  "serverSeries": {"windowS": 1, "phaseOrder": ["ingest", "tick", "snapshotBuild", "handOff", "poolWait"], "windows": [
    {"tS": 1.0, "clients": 50, "ticks": 21, "loopP50Ms": 0.160, "loopP99Ms": 0.314, "loopMaxMs": 0.314, "cpuMeanMs": 0.164, "workerCpuMeanMs": null, "phaseMeanMs": [0.033, 0.026, 0.030, 0.075, 0.002], "framesSent": 607, "framesSkipped": 0, "droppedTicks": 0, "inputs": 482, "sentBpsPerClient": 647},
    {"tS": 2.0, "clients": 100, "ticks": 20, "loopP50Ms": 0.520, "loopP99Ms": 2.042, "loopMaxMs": 2.042, "cpuMeanMs": 0.495, "workerCpuMeanMs": null, "phaseMeanMs": [0.052, 0.092, 0.189, 0.327, 0.002], "framesSent": 1652, "framesSkipped": 0, "droppedTicks": 0, "inputs": 1479, "sentBpsPerClient": 1663},
    {"tS": 3.0, "clients": 150, "ticks": 20, "loopP50Ms": 1.010, "loopP99Ms": 2.328, "loopMaxMs": 2.328, "cpuMeanMs": 0.953, "workerCpuMeanMs": null, "phaseMeanMs": [0.085, 0.130, 0.556, 0.416, 0.002], "framesSent": 2705, "framesSkipped": 0, "droppedTicks": 0, "inputs": 2480, "sentBpsPerClient": 3006},
    {"tS": 4.0, "clients": 200, "ticks": 20, "loopP50Ms": 1.300, "loopP99Ms": 2.501, "loopMaxMs": 2.501, "cpuMeanMs": 1.371, "workerCpuMeanMs": null, "phaseMeanMs": [0.074, 0.158, 0.812, 0.459, 0.001], "framesSent": 3752, "framesSkipped": 0, "droppedTicks": 0, "inputs": 3479, "sentBpsPerClient": 3651},
    {"tS": 5.0, "clients": 250, "ticks": 20, "loopP50Ms": 2.160, "loopP99Ms": 11.595, "loopMaxMs": 11.595, "cpuMeanMs": 1.752, "workerCpuMeanMs": null, "phaseMeanMs": [0.098, 0.160, 1.186, 0.979, 0.002], "framesSent": 4805, "framesSkipped": 0, "droppedTicks": 0, "inputs": 4480, "sentBpsPerClient": 4140},
    {"tS": 6.0, "clients": 300, "ticks": 20, "loopP50Ms": 2.560, "loopP99Ms": 3.967, "loopMaxMs": 3.967, "cpuMeanMs": 2.403, "workerCpuMeanMs": null, "phaseMeanMs": [0.083, 0.257, 1.590, 0.678, 0.002], "framesSent": 5858, "framesSkipped": 0, "droppedTicks": 0, "inputs": 5483, "sentBpsPerClient": 4918},
    {"tS": 7.0, "clients": 350, "ticks": 20, "loopP50Ms": 4.260, "loopP99Ms": 5.170, "loopMaxMs": 5.170, "cpuMeanMs": 3.734, "workerCpuMeanMs": null, "phaseMeanMs": [0.114, 0.391, 2.694, 0.982, 0.002], "framesSent": 6906, "framesSkipped": 0, "droppedTicks": 0, "inputs": 6482, "sentBpsPerClient": 5292},
    {"tS": 8.0, "clients": 400, "ticks": 20, "loopP50Ms": 5.230, "loopP99Ms": 8.531, "loopMaxMs": 8.531, "cpuMeanMs": 4.609, "workerCpuMeanMs": null, "phaseMeanMs": [0.165, 0.573, 3.283, 1.343, 0.004], "framesSent": 7955, "framesSkipped": 0, "droppedTicks": 0, "inputs": 7481, "sentBpsPerClient": 5412},
    {"tS": 9.0, "clients": 450, "ticks": 20, "loopP50Ms": 5.630, "loopP99Ms": 6.244, "loopMaxMs": 6.244, "cpuMeanMs": 4.923, "workerCpuMeanMs": null, "phaseMeanMs": [0.159, 0.610, 3.399, 1.267, 0.003], "framesSent": 9005, "framesSkipped": 0, "droppedTicks": 0, "inputs": 8480, "sentBpsPerClient": 5420},
    {"tS": 10.0, "clients": 500, "ticks": 20, "loopP50Ms": 6.200, "loopP99Ms": 10.476, "loopMaxMs": 10.476, "cpuMeanMs": 5.442, "workerCpuMeanMs": null, "phaseMeanMs": [0.207, 0.734, 3.902, 1.425, 0.003], "framesSent": 10054, "framesSkipped": 0, "droppedTicks": 0, "inputs": 9481, "sentBpsPerClient": 5438},
    {"tS": 11.0, "clients": 550, "ticks": 20, "loopP50Ms": 6.620, "loopP99Ms": 9.443, "loopMaxMs": 9.443, "cpuMeanMs": 5.282, "workerCpuMeanMs": null, "phaseMeanMs": [0.210, 0.723, 3.941, 1.939, 0.002], "framesSent": 11107, "framesSkipped": 0, "droppedTicks": 0, "inputs": 10481, "sentBpsPerClient": 5309},
    {"tS": 12.0, "clients": 600, "ticks": 20, "loopP50Ms": 6.760, "loopP99Ms": 10.726, "loopMaxMs": 10.726, "cpuMeanMs": 5.638, "workerCpuMeanMs": null, "phaseMeanMs": [0.302, 0.876, 4.071, 1.871, 0.002], "framesSent": 12158, "framesSkipped": 0, "droppedTicks": 0, "inputs": 11482, "sentBpsPerClient": 5326},
    {"tS": 13.0, "clients": 650, "ticks": 20, "loopP50Ms": 8.010, "loopP99Ms": 10.828, "loopMaxMs": 10.828, "cpuMeanMs": 6.072, "workerCpuMeanMs": null, "phaseMeanMs": [0.205, 0.873, 4.629, 2.265, 0.002], "framesSent": 13205, "framesSkipped": 0, "droppedTicks": 0, "inputs": 12481, "sentBpsPerClient": 5314},
    {"tS": 14.0, "clients": 700, "ticks": 20, "loopP50Ms": 7.700, "loopP99Ms": 13.096, "loopMaxMs": 13.096, "cpuMeanMs": 6.527, "workerCpuMeanMs": null, "phaseMeanMs": [0.309, 1.128, 4.727, 2.100, 0.003], "framesSent": 14253, "framesSkipped": 0, "droppedTicks": 0, "inputs": 13481, "sentBpsPerClient": 5359},
    {"tS": 15.0, "clients": 747, "ticks": 19, "loopP50Ms": 8.060, "loopP99Ms": 63.833, "loopMaxMs": 63.833, "cpuMeanMs": 7.229, "workerCpuMeanMs": null, "phaseMeanMs": [0.191, 1.561, 7.710, 4.914, 0.002], "framesSent": 14525, "framesSkipped": 0, "droppedTicks": 0, "inputs": 13701, "sentBpsPerClient": 5093},
    {"tS": 16.0, "clients": 800, "ticks": 21, "loopP50Ms": 13.100, "loopP99Ms": 46.274, "loopMaxMs": 46.274, "cpuMeanMs": 8.791, "workerCpuMeanMs": null, "phaseMeanMs": [0.892, 2.002, 8.288, 4.143, 0.002], "framesSent": 17142, "framesSkipped": 0, "droppedTicks": 0, "inputs": 16261, "sentBpsPerClient": 5654},
    {"tS": 17.0, "clients": 850, "ticks": 20, "loopP50Ms": 13.810, "loopP99Ms": 52.214, "loopMaxMs": 52.214, "cpuMeanMs": 10.044, "workerCpuMeanMs": null, "phaseMeanMs": [0.650, 1.921, 9.494, 5.835, 0.013], "framesSent": 17407, "framesSkipped": 0, "droppedTicks": 0, "inputs": 16482, "sentBpsPerClient": 5470},
    {"tS": 18.0, "clients": 900, "ticks": 20, "loopP50Ms": 31.030, "loopP99Ms": 215.083, "loopMaxMs": 215.083, "cpuMeanMs": 14.118, "workerCpuMeanMs": null, "phaseMeanMs": [0.866, 3.500, 25.356, 13.060, 0.004], "framesSent": 18519, "framesSkipped": 0, "droppedTicks": 0, "inputs": 17542, "sentBpsPerClient": 5443},
    {"tS": 19.0, "clients": 950, "ticks": 20, "loopP50Ms": 18.260, "loopP99Ms": 99.644, "loopMaxMs": 99.644, "cpuMeanMs": 13.885, "workerCpuMeanMs": null, "phaseMeanMs": [1.306, 3.323, 17.707, 9.751, 0.005], "framesSent": 19511, "framesSkipped": 0, "droppedTicks": 0, "inputs": 18488, "sentBpsPerClient": 5479},
    {"tS": 20.0, "clients": 1000, "ticks": 20, "loopP50Ms": 19.030, "loopP99Ms": 165.951, "loopMaxMs": 165.951, "cpuMeanMs": 13.986, "workerCpuMeanMs": null, "phaseMeanMs": [0.603, 3.115, 19.039, 11.190, 0.004], "framesSent": 20595, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19519, "sentBpsPerClient": 5455},
    {"tS": 21.0, "clients": 1000, "ticks": 20, "loopP50Ms": 21.860, "loopP99Ms": 61.853, "loopMaxMs": 61.853, "cpuMeanMs": 13.870, "workerCpuMeanMs": null, "phaseMeanMs": [0.757, 3.022, 14.073, 6.502, 0.003], "framesSent": 20995, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 5412},
    {"tS": 22.0, "clients": 1000, "ticks": 19, "loopP50Ms": 23.700, "loopP99Ms": 81.817, "loopMaxMs": 81.817, "cpuMeanMs": 13.973, "workerCpuMeanMs": null, "phaseMeanMs": [0.812, 2.948, 14.344, 7.774, 0.003], "framesSent": 19960, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19000, "sentBpsPerClient": 4966},
    {"tS": 23.0, "clients": 1000, "ticks": 20, "loopP50Ms": 20.750, "loopP99Ms": 53.878, "loopMaxMs": 53.878, "cpuMeanMs": 14.019, "workerCpuMeanMs": null, "phaseMeanMs": [0.737, 4.150, 13.871, 7.314, 0.003], "framesSent": 20992, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 5012},
    {"tS": 24.0, "clients": 1000, "ticks": 21, "loopP50Ms": 25.480, "loopP99Ms": 63.049, "loopMaxMs": 63.049, "cpuMeanMs": 14.222, "workerCpuMeanMs": null, "phaseMeanMs": [1.182, 3.051, 15.454, 8.636, 0.003], "framesSent": 22072, "framesSkipped": 0, "droppedTicks": 0, "inputs": 21000, "sentBpsPerClient": 5236},
    {"tS": 25.0, "clients": 1000, "ticks": 20, "loopP50Ms": 19.480, "loopP99Ms": 65.034, "loopMaxMs": 65.034, "cpuMeanMs": 13.929, "workerCpuMeanMs": null, "phaseMeanMs": [1.052, 2.920, 12.383, 6.277, 0.003], "framesSent": 20981, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4787},
    {"tS": 26.0, "clients": 1000, "ticks": 20, "loopP50Ms": 17.080, "loopP99Ms": 28.675, "loopMaxMs": 28.675, "cpuMeanMs": 14.036, "workerCpuMeanMs": null, "phaseMeanMs": [0.722, 2.373, 10.648, 4.797, 0.004], "framesSent": 21005, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4539},
    {"tS": 27.0, "clients": 1000, "ticks": 20, "loopP50Ms": 15.310, "loopP99Ms": 47.256, "loopMaxMs": 47.256, "cpuMeanMs": 13.602, "workerCpuMeanMs": null, "phaseMeanMs": [0.607, 2.449, 10.729, 5.674, 0.004], "framesSent": 21013, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4413},
    {"tS": 28.0, "clients": 1000, "ticks": 20, "loopP50Ms": 16.180, "loopP99Ms": 31.424, "loopMaxMs": 31.424, "cpuMeanMs": 13.197, "workerCpuMeanMs": null, "phaseMeanMs": [0.625, 2.146, 11.247, 4.808, 0.004], "framesSent": 20978, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4375},
    {"tS": 29.0, "clients": 1000, "ticks": 20, "loopP50Ms": 22.760, "loopP99Ms": 45.377, "loopMaxMs": 45.377, "cpuMeanMs": 13.469, "workerCpuMeanMs": null, "phaseMeanMs": [0.863, 1.979, 13.368, 7.634, 0.004], "framesSent": 21013, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4291},
    {"tS": 30.0, "clients": 1000, "ticks": 20, "loopP50Ms": 17.840, "loopP99Ms": 31.080, "loopMaxMs": 31.080, "cpuMeanMs": 12.889, "workerCpuMeanMs": null, "phaseMeanMs": [1.070, 2.228, 10.657, 5.269, 0.003], "framesSent": 20993, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4303},
    {"tS": 31.0, "clients": 1000, "ticks": 20, "loopP50Ms": 16.110, "loopP99Ms": 30.617, "loopMaxMs": 30.617, "cpuMeanMs": 12.480, "workerCpuMeanMs": null, "phaseMeanMs": [0.585, 2.123, 9.822, 4.341, 0.003], "framesSent": 20995, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4236},
    {"tS": 32.0, "clients": 1000, "ticks": 20, "loopP50Ms": 14.430, "loopP99Ms": 28.028, "loopMaxMs": 28.028, "cpuMeanMs": 11.895, "workerCpuMeanMs": null, "phaseMeanMs": [0.464, 1.834, 9.714, 4.570, 0.003], "framesSent": 20997, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4169},
    {"tS": 33.0, "clients": 1000, "ticks": 20, "loopP50Ms": 15.060, "loopP99Ms": 20.264, "loopMaxMs": 20.264, "cpuMeanMs": 12.157, "workerCpuMeanMs": null, "phaseMeanMs": [0.517, 1.809, 8.903, 4.154, 0.003], "framesSent": 21004, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4117},
    {"tS": 34.0, "clients": 1000, "ticks": 20, "loopP50Ms": 16.310, "loopP99Ms": 44.154, "loopMaxMs": 44.154, "cpuMeanMs": 12.290, "workerCpuMeanMs": null, "phaseMeanMs": [0.577, 1.860, 10.858, 5.134, 0.003], "framesSent": 21009, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4063},
    {"tS": 35.0, "clients": 1000, "ticks": 20, "loopP50Ms": 13.470, "loopP99Ms": 24.866, "loopMaxMs": 24.866, "cpuMeanMs": 11.441, "workerCpuMeanMs": null, "phaseMeanMs": [0.565, 1.670, 8.243, 4.053, 0.003], "framesSent": 20991, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 4019},
    {"tS": 36.0, "clients": 1000, "ticks": 20, "loopP50Ms": 12.040, "loopP99Ms": 16.347, "loopMaxMs": 16.347, "cpuMeanMs": 10.401, "workerCpuMeanMs": null, "phaseMeanMs": [0.406, 1.339, 7.138, 3.139, 0.002], "framesSent": 20995, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3950},
    {"tS": 37.0, "clients": 1000, "ticks": 19, "loopP50Ms": 13.370, "loopP99Ms": 103.720, "loopMaxMs": 103.720, "cpuMeanMs": 10.875, "workerCpuMeanMs": null, "phaseMeanMs": [0.605, 1.988, 12.503, 5.937, 0.005], "framesSent": 20019, "framesSkipped": 0, "droppedTicks": 0, "inputs": 18823, "sentBpsPerClient": 3770},
    {"tS": 38.0, "clients": 1000, "ticks": 21, "loopP50Ms": 20.180, "loopP99Ms": 39.304, "loopMaxMs": 39.304, "cpuMeanMs": 12.934, "workerCpuMeanMs": null, "phaseMeanMs": [0.652, 2.059, 11.382, 8.211, 0.003], "framesSent": 21979, "framesSkipped": 0, "droppedTicks": 0, "inputs": 21177, "sentBpsPerClient": 4141},
    {"tS": 39.0, "clients": 1000, "ticks": 20, "loopP50Ms": 20.100, "loopP99Ms": 52.552, "loopMaxMs": 52.552, "cpuMeanMs": 12.340, "workerCpuMeanMs": null, "phaseMeanMs": [0.660, 1.684, 12.774, 9.402, 0.003], "framesSent": 21008, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3872},
    {"tS": 40.0, "clients": 1000, "ticks": 20, "loopP50Ms": 15.310, "loopP99Ms": 50.628, "loopMaxMs": 50.628, "cpuMeanMs": 11.599, "workerCpuMeanMs": null, "phaseMeanMs": [0.888, 1.992, 12.069, 6.937, 0.003], "framesSent": 21003, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3798},
    {"tS": 41.0, "clients": 1000, "ticks": 20, "loopP50Ms": 13.460, "loopP99Ms": 21.178, "loopMaxMs": 21.178, "cpuMeanMs": 12.009, "workerCpuMeanMs": null, "phaseMeanMs": [0.480, 1.399, 8.431, 4.202, 0.003], "framesSent": 20993, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3837},
    {"tS": 42.0, "clients": 1000, "ticks": 19, "loopP50Ms": 11.640, "loopP99Ms": 71.560, "loopMaxMs": 71.560, "cpuMeanMs": 11.793, "workerCpuMeanMs": null, "phaseMeanMs": [0.412, 1.512, 9.240, 5.823, 0.003], "framesSent": 19959, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19000, "sentBpsPerClient": 3582},
    {"tS": 43.0, "clients": 1000, "ticks": 21, "loopP50Ms": 20.640, "loopP99Ms": 75.992, "loopMaxMs": 75.992, "cpuMeanMs": 14.064, "workerCpuMeanMs": null, "phaseMeanMs": [0.672, 2.198, 15.918, 6.717, 0.004], "framesSent": 22051, "framesSkipped": 0, "droppedTicks": 0, "inputs": 21000, "sentBpsPerClient": 3889},
    {"tS": 44.0, "clients": 1000, "ticks": 19, "loopP50Ms": 19.610, "loopP99Ms": 60.270, "loopMaxMs": 60.270, "cpuMeanMs": 13.668, "workerCpuMeanMs": null, "phaseMeanMs": [0.822, 2.188, 13.316, 5.538, 0.003], "framesSent": 19948, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19000, "sentBpsPerClient": 3481},
    {"tS": 45.0, "clients": 1000, "ticks": 21, "loopP50Ms": 18.600, "loopP99Ms": 69.086, "loopMaxMs": 69.086, "cpuMeanMs": 13.422, "workerCpuMeanMs": null, "phaseMeanMs": [1.702, 2.581, 13.480, 9.370, 0.004], "framesSent": 22065, "framesSkipped": 0, "droppedTicks": 0, "inputs": 21000, "sentBpsPerClient": 3899},
    {"tS": 46.0, "clients": 1000, "ticks": 20, "loopP50Ms": 23.360, "loopP99Ms": 61.796, "loopMaxMs": 61.796, "cpuMeanMs": 12.577, "workerCpuMeanMs": null, "phaseMeanMs": [1.818, 2.263, 13.733, 8.679, 0.003], "framesSent": 20978, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3666},
    {"tS": 47.0, "clients": 1000, "ticks": 20, "loopP50Ms": 13.060, "loopP99Ms": 26.349, "loopMaxMs": 26.349, "cpuMeanMs": 11.636, "workerCpuMeanMs": null, "phaseMeanMs": [0.759, 1.700, 9.089, 4.273, 0.003], "framesSent": 21004, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3643},
    {"tS": 48.0, "clients": 1000, "ticks": 20, "loopP50Ms": 13.500, "loopP99Ms": 23.472, "loopMaxMs": 23.472, "cpuMeanMs": 10.810, "workerCpuMeanMs": null, "phaseMeanMs": [0.612, 1.524, 8.978, 4.416, 0.005], "framesSent": 20997, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3671},
    {"tS": 49.0, "clients": 1000, "ticks": 20, "loopP50Ms": 14.220, "loopP99Ms": 27.959, "loopMaxMs": 27.959, "cpuMeanMs": 11.217, "workerCpuMeanMs": null, "phaseMeanMs": [0.763, 1.656, 8.863, 4.555, 0.003], "framesSent": 21000, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3587},
    {"tS": 50.0, "clients": 1000, "ticks": 20, "loopP50Ms": 13.190, "loopP99Ms": 24.603, "loopMaxMs": 24.603, "cpuMeanMs": 10.831, "workerCpuMeanMs": null, "phaseMeanMs": [0.727, 1.683, 8.374, 3.652, 0.003], "framesSent": 21002, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3571},
    {"tS": 51.0, "clients": 1000, "ticks": 20, "loopP50Ms": 16.720, "loopP99Ms": 36.185, "loopMaxMs": 36.185, "cpuMeanMs": 11.460, "workerCpuMeanMs": null, "phaseMeanMs": [0.802, 1.983, 11.717, 5.816, 0.003], "framesSent": 21005, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3465},
    {"tS": 52.0, "clients": 1000, "ticks": 20, "loopP50Ms": 11.490, "loopP99Ms": 13.088, "loopMaxMs": 13.088, "cpuMeanMs": 9.929, "workerCpuMeanMs": null, "phaseMeanMs": [0.561, 1.465, 6.211, 2.789, 0.003], "framesSent": 20991, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3435},
    {"tS": 53.0, "clients": 1000, "ticks": 20, "loopP50Ms": 11.640, "loopP99Ms": 42.730, "loopMaxMs": 42.730, "cpuMeanMs": 9.820, "workerCpuMeanMs": null, "phaseMeanMs": [0.678, 2.710, 9.480, 5.373, 0.003], "framesSent": 21018, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19947, "sentBpsPerClient": 3453},
    {"tS": 54.0, "clients": 1000, "ticks": 20, "loopP50Ms": 14.210, "loopP99Ms": 32.942, "loopMaxMs": 32.942, "cpuMeanMs": 11.000, "workerCpuMeanMs": null, "phaseMeanMs": [0.757, 1.866, 9.251, 4.507, 0.004], "framesSent": 20983, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20053, "sentBpsPerClient": 3482},
    {"tS": 56.7, "clients": 1000, "ticks": 7, "loopP50Ms": 774.354, "loopP99Ms": 774.354, "loopMaxMs": 774.354, "cpuMeanMs": 13.738, "workerCpuMeanMs": null, "phaseMeanMs": [12.024, 12.313, 154.110, 196.089, 0.635], "framesSent": 8502, "framesSkipped": 0, "droppedTicks": 8, "inputs": 6167, "sentBpsPerClient": 1275},
    {"tS": 58.5, "clients": 1000, "ticks": 4, "loopP50Ms": 44.610, "loopP99Ms": 1588.479, "loopMaxMs": 1588.479, "cpuMeanMs": 16.087, "workerCpuMeanMs": null, "phaseMeanMs": [86.166, 20.564, 277.384, 73.980, 0.044], "framesSent": 6105, "framesSkipped": 0, "droppedTicks": 34, "inputs": 3694, "sentBpsPerClient": 790},
    {"tS": 58.8, "clients": 1000, "ticks": 4, "loopP50Ms": 48.400, "loopP99Ms": 136.636, "loopMaxMs": 136.636, "cpuMeanMs": 15.336, "workerCpuMeanMs": null, "phaseMeanMs": [0.944, 7.715, 39.027, 27.687, 0.005], "framesSent": 4225, "framesSkipped": 0, "droppedTicks": 32, "inputs": 3632, "sentBpsPerClient": 770},
    {"tS": 59.3, "clients": 1000, "ticks": 4, "loopP50Ms": 65.600, "loopP99Ms": 268.454, "loopMaxMs": 268.454, "cpuMeanMs": 16.610, "workerCpuMeanMs": null, "phaseMeanMs": [5.271, 16.253, 59.692, 43.703, 0.003], "framesSent": 4546, "framesSkipped": 0, "droppedTicks": 2, "inputs": 5305, "sentBpsPerClient": 766},
    {"tS": 59.5, "clients": 1000, "ticks": 4, "loopP50Ms": 49.210, "loopP99Ms": 81.161, "loopMaxMs": 81.161, "cpuMeanMs": 16.010, "workerCpuMeanMs": null, "phaseMeanMs": [0.492, 6.572, 31.172, 20.010, 0.004], "framesSent": 4337, "framesSkipped": 0, "droppedTicks": 5, "inputs": 3520, "sentBpsPerClient": 768},
    {"tS": 60.1, "clients": 1000, "ticks": 4, "loopP50Ms": 81.070, "loopP99Ms": 312.701, "loopMaxMs": 312.701, "cpuMeanMs": 15.698, "workerCpuMeanMs": null, "phaseMeanMs": [0.404, 3.655, 99.166, 43.433, 0.130], "framesSent": 4157, "framesSkipped": 0, "droppedTicks": 0, "inputs": 4431, "sentBpsPerClient": 759},
    {"tS": 61.1, "clients": 1000, "ticks": 12, "loopP50Ms": 63.740, "loopP99Ms": 229.998, "loopMaxMs": 229.998, "cpuMeanMs": 15.775, "workerCpuMeanMs": null, "phaseMeanMs": [2.463, 6.636, 42.769, 29.961, 0.004], "framesSent": 13037, "framesSkipped": 0, "droppedTicks": 13, "inputs": 11828, "sentBpsPerClient": 2263},
    {"tS": 62.1, "clients": 1000, "ticks": 12, "loopP50Ms": 54.210, "loopP99Ms": 168.895, "loopMaxMs": 168.895, "cpuMeanMs": 15.486, "workerCpuMeanMs": null, "phaseMeanMs": [4.394, 11.420, 47.816, 21.878, 0.004], "framesSent": 13019, "framesSkipped": 0, "droppedTicks": 9, "inputs": 12261, "sentBpsPerClient": 2216},
    {"tS": 63.0, "clients": 1000, "ticks": 21, "loopP50Ms": 31.940, "loopP99Ms": 50.807, "loopMaxMs": 50.807, "cpuMeanMs": 14.608, "workerCpuMeanMs": null, "phaseMeanMs": [1.272, 2.978, 17.070, 9.518, 0.004], "framesSent": 21897, "framesSkipped": 71, "droppedTicks": 1, "inputs": 21091, "sentBpsPerClient": 3773},
    {"tS": 64.0, "clients": 1000, "ticks": 20, "loopP50Ms": 33.180, "loopP99Ms": 85.459, "loopMaxMs": 85.459, "cpuMeanMs": 13.210, "workerCpuMeanMs": null, "phaseMeanMs": [1.436, 2.139, 20.178, 11.246, 0.004], "framesSent": 20998, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3503},
    {"tS": 65.1, "clients": 1000, "ticks": 20, "loopP50Ms": 29.460, "loopP99Ms": 74.743, "loopMaxMs": 74.743, "cpuMeanMs": 13.000, "workerCpuMeanMs": null, "phaseMeanMs": [1.638, 2.096, 18.668, 12.937, 0.012], "framesSent": 21001, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3438},
    {"tS": 66.0, "clients": 1000, "ticks": 20, "loopP50Ms": 21.310, "loopP99Ms": 54.749, "loopMaxMs": 54.749, "cpuMeanMs": 13.119, "workerCpuMeanMs": null, "phaseMeanMs": [0.682, 2.409, 15.434, 9.276, 0.004], "framesSent": 20999, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20000, "sentBpsPerClient": 3411},
    {"tS": 67.0, "clients": 1000, "ticks": 20, "loopP50Ms": 36.300, "loopP99Ms": 119.994, "loopMaxMs": 119.994, "cpuMeanMs": 15.226, "workerCpuMeanMs": null, "phaseMeanMs": [2.645, 4.481, 21.063, 15.295, 0.004], "framesSent": 20996, "framesSkipped": 4, "droppedTicks": 0, "inputs": 19996, "sentBpsPerClient": 3316},
    {"tS": 68.0, "clients": 1000, "ticks": 20, "loopP50Ms": 22.480, "loopP99Ms": 56.787, "loopMaxMs": 56.787, "cpuMeanMs": 14.506, "workerCpuMeanMs": null, "phaseMeanMs": [1.212, 2.285, 16.044, 8.631, 0.004], "framesSent": 21001, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19835, "sentBpsPerClient": 3270},
    {"tS": 69.0, "clients": 1000, "ticks": 20, "loopP50Ms": 29.810, "loopP99Ms": 54.330, "loopMaxMs": 54.330, "cpuMeanMs": 13.123, "workerCpuMeanMs": null, "phaseMeanMs": [0.986, 2.162, 15.879, 10.361, 0.020], "framesSent": 20999, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20165, "sentBpsPerClient": 3320},
    {"tS": 70.0, "clients": 1000, "ticks": 19, "loopP50Ms": 20.670, "loopP99Ms": 59.719, "loopMaxMs": 59.719, "cpuMeanMs": 13.282, "workerCpuMeanMs": null, "phaseMeanMs": [0.966, 2.528, 15.049, 9.279, 0.004], "framesSent": 19998, "framesSkipped": 0, "droppedTicks": 0, "inputs": 18887, "sentBpsPerClient": 3137},
    {"tS": 71.0, "clients": 1000, "ticks": 21, "loopP50Ms": 29.800, "loopP99Ms": 75.234, "loopMaxMs": 75.234, "cpuMeanMs": 13.354, "workerCpuMeanMs": null, "phaseMeanMs": [0.944, 2.285, 16.563, 13.136, 0.006], "framesSent": 22002, "framesSkipped": 0, "droppedTicks": 0, "inputs": 21113, "sentBpsPerClient": 3473},
    {"tS": 72.1, "clients": 1000, "ticks": 18, "loopP50Ms": 41.940, "loopP99Ms": 148.511, "loopMaxMs": 148.511, "cpuMeanMs": 13.872, "workerCpuMeanMs": null, "phaseMeanMs": [0.783, 4.796, 25.981, 19.987, 0.005], "framesSent": 19005, "framesSkipped": 0, "droppedTicks": 0, "inputs": 17530, "sentBpsPerClient": 2947},
    {"tS": 73.0, "clients": 1000, "ticks": 20, "loopP50Ms": 35.610, "loopP99Ms": 105.634, "loopMaxMs": 105.634, "cpuMeanMs": 13.484, "workerCpuMeanMs": null, "phaseMeanMs": [1.348, 5.012, 23.355, 14.368, 0.005], "framesSent": 20997, "framesSkipped": 0, "droppedTicks": 1, "inputs": 19909, "sentBpsPerClient": 3382},
    {"tS": 74.0, "clients": 1000, "ticks": 20, "loopP50Ms": 25.800, "loopP99Ms": 49.645, "loopMaxMs": 49.645, "cpuMeanMs": 12.701, "workerCpuMeanMs": null, "phaseMeanMs": [0.620, 2.377, 15.804, 10.103, 0.004], "framesSent": 20998, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20554, "sentBpsPerClient": 3347},
    {"tS": 75.0, "clients": 1000, "ticks": 20, "loopP50Ms": 26.270, "loopP99Ms": 64.458, "loopMaxMs": 64.458, "cpuMeanMs": 12.401, "workerCpuMeanMs": null, "phaseMeanMs": [0.747, 2.421, 13.721, 9.928, 0.004], "framesSent": 21000, "framesSkipped": 0, "droppedTicks": 0, "inputs": 20007, "sentBpsPerClient": 3226},
    {"tS": 78.7, "clients": 1000, "ticks": 20, "loopP50Ms": 37.350, "loopP99Ms": 2611.852, "loopMaxMs": 2611.852, "cpuMeanMs": 14.419, "workerCpuMeanMs": null, "phaseMeanMs": [1.901, 36.519, 71.184, 67.202, 0.004], "framesSent": 21021, "framesSkipped": 0, "droppedTicks": 0, "inputs": 19002, "sentBpsPerClient": 3345},
    {"tS": 79.2, "clients": 1000, "ticks": 4, "loopP50Ms": 59.400, "loopP99Ms": 261.546, "loopMaxMs": 261.546, "cpuMeanMs": 17.381, "workerCpuMeanMs": null, "phaseMeanMs": [51.788, 4.590, 32.432, 24.527, 0.005], "framesSent": 5629, "framesSkipped": 0, "droppedTicks": 50, "inputs": 4729, "sentBpsPerClient": 742},
    {"tS": 79.4, "clients": 1000, "ticks": 4, "loopP50Ms": 31.540, "loopP99Ms": 80.433, "loopMaxMs": 80.433, "cpuMeanMs": 14.785, "workerCpuMeanMs": null, "phaseMeanMs": [1.882, 6.932, 29.380, 11.770, 0.005], "framesSent": 4209, "framesSkipped": 0, "droppedTicks": 5, "inputs": 2792, "sentBpsPerClient": 725},
    {"tS": 79.5, "clients": 1000, "ticks": 3, "loopP50Ms": 49.080, "loopP99Ms": 88.546, "loopMaxMs": 88.546, "cpuMeanMs": 16.106, "workerCpuMeanMs": null, "phaseMeanMs": [2.624, 4.208, 31.541, 19.038, 0.005], "framesSent": 3103, "framesSkipped": 0, "droppedTicks": 0, "inputs": 3870, "sentBpsPerClient": 532},
    {"tS": 80.0, "clients": 1000, "ticks": 13, "loopP50Ms": 23.240, "loopP99Ms": 92.425, "loopMaxMs": 92.425, "cpuMeanMs": 15.021, "workerCpuMeanMs": null, "phaseMeanMs": [3.050, 2.889, 20.522, 8.405, 0.005], "framesSent": 13113, "framesSkipped": 488, "droppedTicks": 0, "inputs": 13037, "sentBpsPerClient": 2180},
    {"tS": 80.2, "clients": 0, "ticks": 4, "loopP50Ms": 14.670, "loopP99Ms": 25.430, "loopMaxMs": 25.430, "cpuMeanMs": 11.118, "workerCpuMeanMs": null, "phaseMeanMs": [6.438, 1.034, 5.030, 4.102, 0.003], "framesSent": 2135, "framesSkipped": 0, "droppedTicks": 0, "inputs": 1762, "sentBpsPerClient": 0}
  ]},
  "errors": [],
  "checks": {"allJoined": true, "noDisconnects": true, "avgDownstreamWithinTarget": true, "everyClientWithinHardCap": true, "missedTicksUnder1Percent": true, "loopP99WithinTarget": false, "noStaleOrDroppedInputs": true, "framesSkippedUnder1Percent": true, "ticksDroppedUnder1Percent": false, "noSnapshotErrors": true, "noThreadsLeft": true},
  "pass": false
}
