diff --git a/run-stdout.txt b/run-stdout.txt new file mode 100644 index 00000000000..da89bfe6145 --- /dev/null +++ b/run-stdout.txt @@ -0,0 +1,97 @@ +group D before 2026-11-12T20:50:21Z par=4 12:50 up 4 days, 12:09, 131 users, load averages: 5.01 3.90 3.26 +=== GROUP D regex=^lanes- parallel=4 start=2026-11-12T20:50:21Z +lanes-4sel-checks-n50-c4-gate-d3 rc=0 wall=39s +lanes-4sel-n50-c4-gate-d3 rc=0 wall=39s +lanes-4sel-checks-n50-c4-gate-d2 rc=0 wall=39s +lanes-4sel-n50-c4-gate-d2 rc=0 wall=40s +lanes-2sel-n50-c2-gate-d3 rc=0 wall=38s +lanes-1sel-checks-n14-c2-gate-d3 rc=0 wall=39s +lanes-1sel-checks-n50-c2-gate-d3 rc=0 wall=39s +lanes-2sel-n50-c2-gate-d2 rc=0 wall=40s +lanes-2sel-checks-n14-c2-gate-d3 rc=0 wall=28s +lanes-4sel-checks-n20-c4-gate-d3 rc=0 wall=30s +lanes-fg-n50-c4-gate-d3 rc=0 wall=31s +ALL DONE +=== GROUP D wall=111s end=2026-11-12T20:52:12Z +group D after 2026-11-12T20:52:12Z 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +group E before 2026-11-12T20:52:12Z par=4 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +=== GROUP E regex=^(timeout|cancel)- parallel=4 start=2026-11-12T20:52:12Z +timeout-slow3-n14-c2 rc=0 wall=40s +timeout-slow5-over-client-deadline-n14-c2 rc=0 wall=40s +cancel-disconnect20-n50-c3 rc=0 wall=40s +timeout-slow3-n50-c3 rc=0 wall=41s +cancel-allgone30-n50-c3 rc=0 wall=23s +cancel-hidden-n14-c2 rc=0 wall=23s +ALL DONE +=== GROUP E wall=64s end=2026-11-12T20:53:16Z +group E after 2026-11-12T20:53:16Z 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +group C before 2026-11-12T20:53:16Z par=4 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +=== GROUP C regex=^serve- parallel=4 start=2026-11-12T20:53:16Z +serve-after-n14-c2-settled rc=0 wall=42s +serve-before-n14-c2 rc=0 wall=45s +serve-after-n14-c2 rc=0 wall=45s +serve-before-n14-c2-settled rc=0 wall=46s +serve-after-n14-c2-unfocused rc=0 wall=50s +serve-after-n14-c2-noci0 rc=0 wall=50s +serve-after-ghes-n14-c2 rc=0 wall=51s +serve-before-ghes-n14-c2 rc=0 wall=52s +serve-after-n10-c3 rc=0 wall=49s +serve-after-n50-c3 rc=0 wall=48s +serve-before-n10-c3 rc=0 wall=50s +serve-before-n50-c3 rc=0 wall=51s +serve-after-n50-c3-j0 rc=0 wall=51s +serve-after-n50-c3-disjoint rc=0 wall=51s +serve-after-n200-c1 rc=0 wall=52s +serve-before-n200-c1 rc=0 wall=56s +serve-oldclient-n14-c2 rc=0 wall=19s +ALL DONE +=== GROUP C wall=225s end=2026-11-12T20:57:01Z +group C after 2026-11-12T20:57:01Z 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +group A before 2026-11-12T20:57:01Z par=4 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +=== GROUP A regex=^ghes-desk- parallel=4 start=2026-11-12T20:57:01Z +ghes-desk-after-n10-unfocused rc=0 wall=42s +ghes-desk-before-n10-unfocused rc=0 wall=43s +ghes-desk-before-n10-focused rc=0 wall=43s +ghes-desk-after-n10-focused rc=0 wall=44s +ghes-desk-before-n10-hidden rc=0 wall=44s +ghes-desk-after-n10-unfocused-noidle rc=0 wall=44s +ghes-desk-after-n10-hidden rc=0 wall=45s +ghes-desk-after-n10-return rc=0 wall=46s +ghes-desk-after-n10-focused-noci0 rc=0 wall=43s +ghes-desk-before-n50-focused rc=0 wall=44s +ghes-desk-after-n10-mixed rc=0 wall=44s +ghes-desk-before-n10-mixed rc=0 wall=45s +ghes-desk-after-n50-focused-j0 rc=0 wall=49s +ghes-desk-after-n50-focused rc=0 wall=50s +ghes-desk-after-n50-focused-j25 rc=0 wall=50s +ghes-desk-before-n50-unfocused rc=0 wall=50s +ghes-desk-after-n50-unfocused rc=0 wall=45s +ghes-desk-after-n50-mixed rc=0 wall=45s +ghes-desk-after-n50-return rc=0 wall=46s +ghes-desk-before-n50-mixed rc=0 wall=46s +ALL DONE +=== GROUP A wall=231s end=2026-11-12T21:00:52Z +group A after 2026-11-12T21:00:52Z 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +group B before 2026-11-12T21:00:52Z par=4 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +=== GROUP B regex=^dotcom- parallel=4 start=2026-11-12T21:00:52Z +dotcom-desk-after-n50 rc=0 wall=45s +dotcom-desk-before-n50 rc=0 wall=45s +dotcom-desk-after-n10 rc=0 wall=45s +dotcom-desk-before-n10 rc=0 wall=46s +ALL DONE +=== GROUP B wall=46s end=2026-11-12T21:01:38Z +group B after 2026-11-12T21:01:38Z 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +group F before 2026-11-12T21:01:38Z par=4 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +=== GROUP F regex=^detect- parallel=4 start=2026-11-12T21:01:38Z +detect-desk-after-n10-j0 rc=0 wall=39s +detect-desk-after-n10 rc=0 wall=40s +detect-serve-before-n14-c2 rc=0 wall=46s +detect-desk-before-n10 rc=0 wall=47s +detect-serve-after-n14-c2 rc=0 wall=40s +detect-serve-after-n14-c2-j0 rc=0 wall=41s +detect-serve-after-n14-c2-seed2 rc=0 wall=42s +detect-serve-oldclient-n14-c2 rc=0 wall=43s +ALL DONE +=== GROUP F wall=91s end=2026-11-12T21:03:09Z +group F after 2026-11-12T21:03:09Z 13:03 up 4 days, 12:22, 137 users, load averages: 5.51 6.33 5.35 +ALL GROUPS DONE diff --git a/src/main/github/__experiments__/D3-M4AIR-RESULTS.md b/src/main/github/__experiments__/D3-M4AIR-RESULTS.md new file mode 100644 index 00000000000..4398dd515da --- /dev/null +++ b/src/main/github/__experiments__/D3-M4AIR-RESULTS.md @@ -0,0 +1,501 @@ +# STA-8667 D3 evidence gate: m4-air run + +Measurement only. No production code changed, no harness logic changed, no PR. + +## Summary + +- Harness commit **586c55387eb9904a082982d347b6421c765863c3** (`AmethystLiang/sta-8667-polling-harness`), detached checkout. All 12 expected sha256 values match. +- Fast probes: 4 files, 17 tests, all passed. +- Smoke: 3 of 3 scenarios rc=0 with JSON. +- Full `specs3.txt`: 66 of 66 scenarios rc=0 with JSON on the first attempt. No reruns were needed. Order D, E, C, A, B, F, parallel 4 throughout (1-minute load 4.3 to 7.3 on 10 cores, never above the core count). +- Pass rules (§15): every D, E, C, A, B row that has a pass rule is PASS, with one exception that is **not measured**: the E rule "after the disconnect the remaining clients' queue ages return to the no-disconnect level within one window" cannot be decided from what the harness writes (whole-run aggregates only). No PASS is claimed for it. +- Group F is report-only in §15, but against the contract numbers the "after" runs are **over**: `finishVisible` max is 1,834 to 2,304 s in all five "after" runs (bare contract 130 s plus slot wait; the harness does not report slot wait), `finishSelected` max is 186 s in `detect-serve-after-n14-c2-seed2` (contract 70 s), and 13 to 18 of 93 to 97 events are counted undetected in every "after" run (0 in the three before/oldclient runs). Start latencies are within 1,810 s / 3,610 s in all runs. +- **Deviations from the local figures**: D3 lanes worst visible wait is 900 to 942 s on the N=50 gate-d3 scenarios here (171 to 347 s at N=14/20), not 471 to 491 s. GHES desktop 10 worktrees hour 4 is 723 -> 42 here (hour 3 is 717 -> 36, the local figure). Serve 14x2 is 380 -> 16 (mixed) and 377 -> 18 (settled). Details in "Comparison with the local figures". +- **Runs are not bit-reproducible on this machine**: a rerun of two scenarios gave different counts (total spawns 604 vs 603 over 3 h; 1,046 vs 1,011 over 24 h, with detection max latencies moving by up to 482 s). See "Reproducibility check". So the counts are not purely a function of the spec line. + +## Machine and versions + +| Item | Value | +| --- | --- | +| Machine | m4-air: Apple M4, 10 cores (4 performance + 6 efficiency), 32 GB, macOS 27.2 (26B123), Darwin 27.2.0 | +| Node | v26.6.0 (harness written on v26.10.0) | +| vitest | 5.0.5 (same as authoring) | +| pnpm | 12.14.0; `pnpm install --frozen-lockfile` reported the lockfile up to date | +| Run window | 2026-11-12 20:49:15Z to 21:03:09Z (main run), reproducibility rerun 21:04 to 21:05Z | +| Parallel | 4 for every group | +| Other load | Other agents share the machine; 130 to 138 sessions logged in | + +## sha256 (all 12 expected values match) + +``` +5c45d14449fe5e39b335bb533318278a5ec700beb14672207c3614410223bf60 gate-d3.ts +3bf47e88454fce54cf0fe0d0a5d24d8185d7ca6f111fffd2caf39d54fcb66003 gate-lanes.probe.test.ts +34216e0debfc932bffe9d0088ec1d1bed4fb02d862caac8ee7c127741caf8fe8 policy-d3.probe.test.ts +fb23bbd68ab5564ad75255417c79668acee6dafa064de29d2b58247d4247c2c3 policy-d3.ts +80c3e14a98cd2597738b4d97a40157f6ccf5b2870aca49b0a47b2279dba946ff polling-cost.experiment.test.ts +70c349004eb35b3bcbe07f2a89280e7938c627e90ea5a81beb453a9252dc1b82 polling-d2.experiment.test.ts +bc8a2cb6cd294793275312ab413b8e6ce8deef940b303a1618d8a65db59a8c7a rate-limit-d3.probe.test.ts +4685190159987701f9f81c9c15e7526bb83eafa0ba43fef595cb65e4ca5e4a8a rate-limit-d3.ts +bab4308d877d0de403f6655b8edb0ed6bd257fd27cd6b3e29fcee5cc657d9edd scheduler-d3.probe.test.ts +9cb1ce015076b19d7dd05c38e826563021392bf822dfed8dc07a00a17d2592bd scheduler-patches.ts +096c1608d033cfbbf8dcddadbf3242d07fb951d16b07dd12845f7414e4f42a20 specs3.txt +d1b3ed5489bf14f0c62ac93d61bc7318b59193ec460507b484e88250b6cb76f0 run-specs.sh +914ace17719b9b23f939c23754165d9d572f13178783b95b9a9a18fc8f8e73da table3.py +``` + +`polling-cost.experiment.test.ts` (D1 reference) is listed by the Setup command but has no expected value in the brief. + +## Uptime log + +``` +start 2026-11-12T20:49:15Z 12:49 up 4 days, 12:08, 132 users, load averages: 4.28 3.50 3.07 +after-probes 2026-11-12T20:49:32Z 12:49 up 4 days, 12:08, 132 users, load averages: 4.72 3.64 3.14 +after-smoke 2026-11-12T20:50:09Z 12:50 up 4 days, 12:09, 131 users, load averages: 5.12 3.86 3.23 +group D before 2026-11-12T20:50:21Z par=4 12:50 up 4 days, 12:09, 131 users, load averages: 5.01 3.90 3.26 +group D after 2026-11-12T20:52:12Z 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +group E before 2026-11-12T20:52:12Z par=4 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +group E after 2026-11-12T20:53:16Z 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +group C before 2026-11-12T20:53:16Z par=4 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +group C after 2026-11-12T20:57:01Z 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +group A before 2026-11-12T20:57:01Z par=4 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +group A after 2026-11-12T21:00:52Z 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +group B before 2026-11-12T21:00:52Z par=4 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +group B after 2026-11-12T21:01:38Z 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +group F before 2026-11-12T21:01:38Z par=4 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +group F after 2026-11-12T21:03:09Z 13:03 up 4 days, 12:22, 137 users, load averages: 5.51 6.33 5.35 +``` + +1-minute load range over the run: 4.28 to 7.27 (10 cores). + +## Fast probes + +``` + Test Files 4 passed (4) + Tests 17 passed (17) + Duration 284ms (transform 33%, setup 29%, tests 26%, worker 10%, import 2%) +``` + +## Smoke + +``` +cancel-hidden-n14-c2 rc=0 wall=31s +serve-after-n14-c2 rc=0 wall=31s +ghes-desk-after-n10-focused rc=0 wall=32s +ALL DONE +``` + +The smoke JSON and logs for these three names were overwritten by the full run (same scenario names, same spec lines). + +## Group wall times + +``` +=== GROUP D regex=^lanes- parallel=4 start=2026-11-12T20:50:21Z +=== GROUP D wall=111s end=2026-11-12T20:52:12Z +=== GROUP E regex=^(timeout|cancel)- parallel=4 start=2026-11-12T20:52:12Z +=== GROUP E wall=64s end=2026-11-12T20:53:16Z +=== GROUP C regex=^serve- parallel=4 start=2026-11-12T20:53:16Z +=== GROUP C wall=225s end=2026-11-12T20:57:01Z +=== GROUP A regex=^ghes-desk- parallel=4 start=2026-11-12T20:57:01Z +=== GROUP A wall=231s end=2026-11-12T21:00:52Z +=== GROUP B regex=^dotcom- parallel=4 start=2026-11-12T21:00:52Z +=== GROUP B wall=46s end=2026-11-12T21:01:38Z +=== GROUP F regex=^detect- parallel=4 start=2026-11-12T21:01:38Z +=== GROUP F wall=91s end=2026-11-12T21:03:09Z +``` + +Total wall for the six groups: 768 s (12 min 48 s). Per-scenario wall 19 to 56 s; vitest itself reported 2.6 s for a 4 h `serve-after` N=14 and 5.8 s for a 24 h `detect-serve-after`. The F group never came near the 4-hour interim-report threshold (91 s). + +## Per-scenario exit code, JSON, wall time + +| Group | Scenario | rc | JSON | wall s | counts | +| --- | --- | --- | --- | --- | --- | +| D | `lanes-4sel-n50-c4-gate-d2` | 0 | yes | 40 | yes | +| D | `lanes-4sel-n50-c4-gate-d3` | 0 | yes | 39 | yes | +| D | `lanes-4sel-checks-n50-c4-gate-d2` | 0 | yes | 39 | yes | +| D | `lanes-4sel-checks-n50-c4-gate-d3` | 0 | yes | 39 | yes | +| D | `lanes-2sel-n50-c2-gate-d2` | 0 | yes | 40 | yes | +| D | `lanes-2sel-n50-c2-gate-d3` | 0 | yes | 38 | yes | +| D | `lanes-1sel-checks-n14-c2-gate-d3` | 0 | yes | 39 | yes | +| D | `lanes-1sel-checks-n50-c2-gate-d3` | 0 | yes | 39 | yes | +| D | `lanes-2sel-checks-n14-c2-gate-d3` | 0 | yes | 28 | yes | +| D | `lanes-4sel-checks-n20-c4-gate-d3` | 0 | yes | 30 | yes | +| D | `lanes-fg-n50-c4-gate-d3` | 0 | yes | 31 | yes | +| E | `timeout-slow3-n14-c2` | 0 | yes | 40 | yes | +| E | `timeout-slow5-over-client-deadline-n14-c2` | 0 | yes | 40 | yes | +| E | `timeout-slow3-n50-c3` | 0 | yes | 41 | yes | +| E | `cancel-disconnect20-n50-c3` | 0 | yes | 40 | yes | +| E | `cancel-allgone30-n50-c3` | 0 | yes | 23 | yes | +| E | `cancel-hidden-n14-c2` | 0 | yes | 23 | yes | +| C | `serve-before-n14-c2` | 0 | yes | 45 | yes | +| C | `serve-after-n14-c2` | 0 | yes | 45 | yes | +| C | `serve-before-n14-c2-settled` | 0 | yes | 46 | yes | +| C | `serve-after-n14-c2-settled` | 0 | yes | 42 | yes | +| C | `serve-after-n14-c2-noci0` | 0 | yes | 50 | yes | +| C | `serve-after-n14-c2-unfocused` | 0 | yes | 50 | yes | +| C | `serve-before-ghes-n14-c2` | 0 | yes | 52 | yes | +| C | `serve-after-ghes-n14-c2` | 0 | yes | 51 | yes | +| C | `serve-before-n10-c3` | 0 | yes | 50 | yes | +| C | `serve-after-n10-c3` | 0 | yes | 49 | yes | +| C | `serve-before-n50-c3` | 0 | yes | 51 | yes | +| C | `serve-after-n50-c3` | 0 | yes | 48 | yes | +| C | `serve-after-n50-c3-j0` | 0 | yes | 51 | yes | +| C | `serve-after-n50-c3-disjoint` | 0 | yes | 51 | yes | +| C | `serve-before-n200-c1` | 0 | yes | 56 | yes | +| C | `serve-after-n200-c1` | 0 | yes | 52 | yes | +| C | `serve-oldclient-n14-c2` | 0 | yes | 19 | yes | +| A | `ghes-desk-before-n10-focused` | 0 | yes | 43 | yes | +| A | `ghes-desk-after-n10-focused` | 0 | yes | 44 | yes | +| A | `ghes-desk-before-n10-unfocused` | 0 | yes | 43 | yes | +| A | `ghes-desk-after-n10-unfocused` | 0 | yes | 42 | yes | +| A | `ghes-desk-after-n10-unfocused-noidle` | 0 | yes | 44 | yes | +| A | `ghes-desk-before-n10-hidden` | 0 | yes | 44 | yes | +| A | `ghes-desk-after-n10-hidden` | 0 | yes | 45 | yes | +| A | `ghes-desk-after-n10-return` | 0 | yes | 46 | yes | +| A | `ghes-desk-before-n10-mixed` | 0 | yes | 45 | yes | +| A | `ghes-desk-after-n10-mixed` | 0 | yes | 44 | yes | +| A | `ghes-desk-after-n10-focused-noci0` | 0 | yes | 43 | yes | +| A | `ghes-desk-before-n50-focused` | 0 | yes | 44 | yes | +| A | `ghes-desk-after-n50-focused` | 0 | yes | 50 | yes | +| A | `ghes-desk-after-n50-focused-j0` | 0 | yes | 49 | yes | +| A | `ghes-desk-after-n50-focused-j25` | 0 | yes | 50 | yes | +| A | `ghes-desk-before-n50-unfocused` | 0 | yes | 50 | yes | +| A | `ghes-desk-after-n50-unfocused` | 0 | yes | 45 | yes | +| A | `ghes-desk-after-n50-return` | 0 | yes | 46 | yes | +| A | `ghes-desk-before-n50-mixed` | 0 | yes | 46 | yes | +| A | `ghes-desk-after-n50-mixed` | 0 | yes | 45 | yes | +| B | `dotcom-desk-before-n10` | 0 | yes | 46 | yes | +| B | `dotcom-desk-after-n10` | 0 | yes | 45 | yes | +| B | `dotcom-desk-before-n50` | 0 | yes | 45 | yes | +| B | `dotcom-desk-after-n50` | 0 | yes | 45 | yes | +| F | `detect-desk-before-n10` | 0 | yes | 47 | yes | +| F | `detect-desk-after-n10` | 0 | yes | 40 | yes | +| F | `detect-desk-after-n10-j0` | 0 | yes | 39 | yes | +| F | `detect-serve-before-n14-c2` | 0 | yes | 46 | yes | +| F | `detect-serve-after-n14-c2` | 0 | yes | 40 | yes | +| F | `detect-serve-after-n14-c2-seed2` | 0 | yes | 42 | yes | +| F | `detect-serve-after-n14-c2-j0` | 0 | yes | 41 | yes | +| F | `detect-serve-oldclient-n14-c2` | 0 | yes | 43 | yes | + +Scenarios in specs3.txt: 66. Run: 66. Counted (rc=0 and JSON): 66. + +## Group D: lanes (11) + +Limit for visible `waitedS.max` = 300 x ceil((R+5)/15), R = `EXP_N` rows. + +### gate-d3 (after): pass rules + +| Scenario | R | neverServed (=0) | visible pk5min (<=15) | selected pk5min (<=10) | budgeted pk5min (<=20) | budgeted pk60 (<=11) | visible waitedS.max (limit) | Result | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `lanes-4sel-n50-c4-gate-d3` | 50 | 0 | 15 | 10 | 20 | 10 | 900 (1200) | PASS | +| `lanes-4sel-checks-n50-c4-gate-d3` | 50 | 0 | 15 | 10 | 20 | 11 | 910 (1200) | PASS | +| `lanes-2sel-n50-c2-gate-d3` | 50 | 0 | 15 | 10 | 20 | 8 | 920 (1200) | PASS | +| `lanes-1sel-checks-n14-c2-gate-d3` | 14 | 0 | 15 | 10 | 20 | 8 | 171 (600) | PASS | +| `lanes-1sel-checks-n50-c2-gate-d3` | 50 | 0 | 15 | 10 | 20 | 8 | 942 (1200) | PASS | +| `lanes-2sel-checks-n14-c2-gate-d3` | 14 | 0 | 15 | 10 | 20 | 10 | 215 (600) | PASS | +| `lanes-4sel-checks-n20-c4-gate-d3` | 20 | 0 | 15 | 10 | 20 | 11 | 347 (600) | PASS | +| `lanes-fg-n50-c4-gate-d3` | 50 | 0 | 15 | 10 | 20 | 11 | 900 (1200) | PASS | + +Unbudgeted context for `lanes-fg-n50-c4-gate-d3` (REPORT-ONLY, not in the pass rule): interactive lane starts=2685, pk60=24, pk5min=114; all upstream starts max5min=134, max60s=35; interactiveOverflow=894. + +### gate-d2 (before) + +| Scenario | visible seen | neverServed | visible starts | visible waitedS.max | worst first-seen-to-first-start s | selected pk5min | budgeted pk5min / pk60 | Result | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `lanes-4sel-n50-c4-gate-d2` | 50 | 29 | 17 | 781 | 10800 | 20 | 20 / 10 | REPORT-ONLY (expected "before": visible rows unserved: observed) | +| `lanes-4sel-checks-n50-c4-gate-d2` | 50 | 34 | 12 | 690 | 10800 | 20 | 20 / 14 | REPORT-ONLY (expected "before": visible rows unserved: observed) | +| `lanes-2sel-n50-c2-gate-d2` | 49 | 0 | 212 | 2020 | 1810 | 10 | 20 / 8 | REPORT-ONLY | + +### Every selected identity (REPORT-ONLY, as is) + +| Scenario | Identity | starts | medianGapS | maxGapS | +| --- | --- | --- | --- | --- | +| `lanes-4sel-n50-c4-gate-d2` | `pr:feat/wt-2` | 175 | 61 | 188 | +| `lanes-4sel-n50-c4-gate-d2` | `pr:feat/wt-7` | 175 | 61 | 154 | +| `lanes-4sel-n50-c4-gate-d2` | `pr:feat/wt-12` | 173 | 61 | 210 | +| `lanes-4sel-n50-c4-gate-d2` | `pr:feat/wt-17` | 174 | 61 | 165 | +| `lanes-4sel-n50-c4-gate-d3` | `pr:feat/wt-2` | 81 | 80 | 288 | +| `lanes-4sel-n50-c4-gate-d3` | `pr:feat/wt-7` | 73 | 157 | 289 | +| `lanes-4sel-n50-c4-gate-d3` | `pr:feat/wt-12` | 68 | 189 | 280 | +| `lanes-4sel-n50-c4-gate-d3` | `pr:feat/wt-17` | 71 | 157 | 295 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `pr:feat/wt-2` | 72 | 71 | 269 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `checks:feat/wt-2` | 107 | 60 | 240 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `pr:feat/wt-7` | 72 | 81 | 249 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `checks:feat/wt-7` | 106 | 60 | 230 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `pr:feat/wt-12` | 71 | 219 | 280 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `checks:feat/wt-12` | 106 | 60 | 250 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `pr:feat/wt-17` | 71 | 209 | 250 | +| `lanes-4sel-checks-n50-c4-gate-d2` | `checks:feat/wt-17` | 106 | 60 | 240 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `pr:feat/wt-2` | 36 | 310 | 580 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `checks:feat/wt-2` | 37 | 300 | 575 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `pr:feat/wt-7` | 36 | 300 | 585 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `checks:feat/wt-7` | 37 | 290 | 580 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `pr:feat/wt-12` | 39 | 290 | 580 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `checks:feat/wt-12` | 37 | 300 | 570 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `pr:feat/wt-17` | 37 | 300 | 580 | +| `lanes-4sel-checks-n50-c4-gate-d3` | `checks:feat/wt-17` | 34 | 300 | 580 | +| `lanes-2sel-n50-c2-gate-d2` | `pr:feat/wt-2` | 177 | 61 | 117 | +| `lanes-2sel-n50-c2-gate-d2` | `pr:feat/wt-7` | 177 | 61 | 93 | +| `lanes-2sel-n50-c2-gate-d3` | `pr:feat/wt-2` | 143 | 61 | 215 | +| `lanes-2sel-n50-c2-gate-d3` | `pr:feat/wt-7` | 144 | 61 | 223 | +| `lanes-1sel-checks-n14-c2-gate-d3` | `pr:feat/wt-2` | 170 | 60 | 239 | +| `lanes-1sel-checks-n14-c2-gate-d3` | `checks:feat/wt-2` | 171 | 60 | 189 | +| `lanes-1sel-checks-n50-c2-gate-d3` | `pr:feat/wt-2` | 141 | 60 | 239 | +| `lanes-1sel-checks-n50-c2-gate-d3` | `checks:feat/wt-2` | 146 | 60 | 230 | +| `lanes-2sel-checks-n14-c2-gate-d3` | `pr:feat/wt-2` | 99 | 80 | 240 | +| `lanes-2sel-checks-n14-c2-gate-d3` | `checks:feat/wt-2` | 87 | 81 | 270 | +| `lanes-2sel-checks-n14-c2-gate-d3` | `pr:feat/wt-7` | 92 | 80 | 275 | +| `lanes-2sel-checks-n14-c2-gate-d3` | `checks:feat/wt-7` | 83 | 80 | 290 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `pr:feat/wt-2` | 59 | 227 | 459 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `checks:feat/wt-2` | 41 | 300 | 480 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `pr:feat/wt-7` | 50 | 280 | 499 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `checks:feat/wt-7` | 41 | 290 | 325 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `pr:feat/wt-12` | 47 | 290 | 310 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `checks:feat/wt-12` | 42 | 290 | 310 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `pr:feat/wt-17` | 50 | 269 | 319 | +| `lanes-4sel-checks-n20-c4-gate-d3` | `checks:feat/wt-17` | 45 | 290 | 500 | +| `lanes-fg-n50-c4-gate-d3` | `pr:feat/wt-2` | 711 | 8 | 16 | +| `lanes-fg-n50-c4-gate-d3` | `pr:feat/wt-7` | 726 | 8 | 16 | +| `lanes-fg-n50-c4-gate-d3` | `pr:feat/wt-12` | 703 | 8 | 16 | +| `lanes-fg-n50-c4-gate-d3` | `pr:feat/wt-17` | 724 | 8 | 16 | + +### Lane detail (REPORT-ONLY) + +| Scenario | own starts / waitedS p50,p90,max | borrowed starts / waitedS p50,p90,max | visible starts / waitedS p50,p90,max | refusals sel / vis | clientFailures | over10s | +| --- | --- | --- | --- | --- | --- | --- | +| `lanes-4sel-n50-c4-gate-d2` | 697 / 0,0,89 | 0 / None,None,None | 17 / 80,710,781 | 19 / 8808 | 0 | 0 | +| `lanes-4sel-n50-c4-gate-d3` | 181 / 115,220,234 | 112 / 10,157,200 | 258 / 218,690,900 | 335 / 1830 | 0 | 0 | +| `lanes-4sel-checks-n50-c4-gate-d2` | 711 / 0,0,160 | 0 / None,None,None | 12 / 60,390,690 | 863 / 7767 | 0 | 0 | +| `lanes-4sel-checks-n50-c4-gate-d3` | 180 / 260,510,524 | 110 / 0,250,510 | 259 / 252,700,910 | 404 / 1949 | 0 | 0 | +| `lanes-2sel-n50-c2-gate-d2` | 354 / 0,0,25 | 0 / None,None,None | 212 / 928,1766,2020 | 2 / 3239 | 0 | 0 | +| `lanes-2sel-n50-c2-gate-d3` | 178 / 0,132,162 | 109 / 0,10,127 | 269 / 259,730,920 | 76 / 969 | 0 | 0 | +| `lanes-1sel-checks-n14-c2-gate-d3` | 178 / 0,0,178 | 163 / 0,10,28 | 102 / 0,90,171 | 56 / 132 | 0 | 0 | +| `lanes-1sel-checks-n50-c2-gate-d3` | 180 / 0,129,178 | 107 / 0,0,20 | 276 / 300,730,942 | 120 / 911 | 0 | 0 | +| `lanes-2sel-checks-n14-c2-gate-d3` | 180 / 77,179,230 | 168 / 10,128,169 | 93 / 11,99,215 | 334 / 147 | 0 | 0 | +| `lanes-4sel-checks-n20-c4-gate-d3` | 180 / 230,250,439 | 156 / 139,239,259 | 128 / 60,231,347 | 492 / 462 | 0 | 0 | +| `lanes-fg-n50-c4-gate-d3` | 120 / 0,0,50 | 59 / 0,0,0 | 221 / 320,700,900 | 719 / 1606 | 0 | 0 | + +## Group E: timeouts, cancellation (6) + +| Scenario | Criterion | Actual | Result | +| --- | --- | --- | --- | +| `timeout-slow3-n14-c2` | rpcSimulatedMs.over10s = 0 | 0 (p50 400 ms, p99 10000 ms, max 10000 ms) | PASS | +| `timeout-slow3-n14-c2` | clientFailures = 0 | 0 of 422 calls | PASS | +| `timeout-slow3-n14-c2` | replyDeadlineHits > 0 (slow run) | 70 | PASS | +| `timeout-slow5-over-client-deadline-n14-c2` | rpcSimulatedMs.over10s = 0 | 0 (p50 400 ms, p99 10000 ms, max 10000 ms) | PASS | +| `timeout-slow5-over-client-deadline-n14-c2` | clientFailures = 0 | 0 of 411 calls | PASS | +| `timeout-slow5-over-client-deadline-n14-c2` | replyDeadlineHits > 0 (slow run) | 78 | PASS | +| `timeout-slow3-n50-c3` | rpcSimulatedMs.over10s = 0 | 0 (p50 0 ms, p99 10000 ms, max 10000 ms) | PASS | +| `timeout-slow3-n50-c3` | clientFailures = 0 | 0 of 2328 calls | PASS | +| `timeout-slow3-n50-c3` | replyDeadlineHits > 0 (slow run) | 223 | PASS | +| `cancel-disconnect20-n50-c3` | rpcSimulatedMs.over10s = 0 | 0 (p50 0 ms, p99 2000 ms, max 3228 ms) | PASS | +| `cancel-disconnect20-n50-c3` | clientFailures = 0 | 0 of 1093 calls | PASS | +| `cancel-disconnect20-n50-c3` | replyDeadlineHits (not a slow run) | 0 | REPORT-ONLY | +| `cancel-disconnect20-n50-c3` | after the disconnect the remaining clients' queue ages return to the no-disconnect level within one window | **Not decidable from the harness output**: the JSON has only whole-run per-client aggregates, no queue age over time. Whole run (2 h), disconnect run: {'1': {'admits': 44, 'p50': 640, 'max': 930}, '2': {'admits': 196, 'p50': 390, 'max': 1005}, '3': {'admits': 33, 'p50': 72, 'max': 920}}. No-disconnect reference `serve-after-n50-c3-disjoint` (4 h): {'1': {'admits': 305, 'p50': 26, 'max': 1005}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 45, 'p50': 10, 'max': 920}}. Visible waitedS p50/p90/max: disconnect [435, 800, 1005], reference [80, 760, 1005]. gh spawns hour 1 / hour 2: disconnect [219, 96], reference [219, 96] | NOT MEASURED (no PASS claimed) | +| `cancel-allgone30-n50-c3` | rpcSimulatedMs.over10s = 0 | 0 (p50 0 ms, p99 1000 ms, max 1800 ms) | PASS | +| `cancel-allgone30-n50-c3` | clientFailures = 0 | 0 of 1120 calls | PASS | +| `cancel-allgone30-n50-c3` | replyDeadlineHits (not a slow run) | 0 | REPORT-ONLY | +| `cancel-allgone30-n50-c3` | afterAllGone = 0 | 0; gh spawns per hour [110, 0]; spawns in minutes 31+ = 0 | PASS | +| `cancel-hidden-n14-c2` | rpcSimulatedMs.over10s = 0 | 0 (p50 400 ms, p99 1800 ms, max 1800 ms) | PASS | +| `cancel-hidden-n14-c2` | clientFailures = 0 | 0 of 6 calls | PASS | +| `cancel-hidden-n14-c2` | replyDeadlineHits (not a slow run) | 0 | REPORT-ONLY | +| `cancel-hidden-n14-c2` | 0 upstream starts after the first exposure | upstreamStarts=3 total; gh spawns per minute: minute 0 = 5, minutes 1-59 = 0 (resolution: 1 simulated minute; the JSON has no per-start timestamps) | PASS | + +## Group C: serve cost (17) + +| Scenario | sim h | spawns per hour | warm (last) hour | clientFailures (=0) | over10s | Result | +| --- | --- | --- | --- | --- | --- | --- | +| `serve-before-n14-c2` | 4 | [729, 597, 399, 380] | 380 | 0 of 2672 | 0 | PASS | +| `serve-after-n14-c2` | 4 | [107, 23, 17, 16] | 16 | 0 of 405 | 0 | PASS | +| `serve-before-n14-c2-settled` | 4 | [731, 670, 418, 377] | 377 | 0 of 2672 | 0 | PASS | +| `serve-after-n14-c2-settled` | 4 | [68, 21, 19, 18] | 18 | 0 of 307 | 0 | PASS | +| `serve-after-n14-c2-noci0` | 4 | [108, 21, 16, 18] | 18 | 0 of 409 | 0 | PASS | +| `serve-after-n14-c2-unfocused` | 4 | [32, 4, 4, 4] | 4 | 0 of 118 | 0 | PASS | +| `serve-before-ghes-n14-c2` | 4 | [1652, 1140, 1110, 1127] | 1127 | 0 of 2650 | 0 | PASS | +| `serve-after-ghes-n14-c2` | 4 | [322, 61, 57, 49] | 49 | 0 of 391 | 0 | PASS | +| `serve-before-n10-c3` | 4 | [839, 820, 652, 607] | 607 | 0 of 2920 | 0 | PASS | +| `serve-after-n10-c3` | 4 | [85, 15, 13, 12] | 12 | 0 of 398 | 0 | PASS | +| `serve-before-n50-c3` | 2 | [3793, 3761] | 3761 | 0 of 6628 | 0 | PASS | +| `serve-after-n50-c3` | 4 | [211, 76, 50, 52] | 52 | 0 of 2383 | 0 | PASS | +| `serve-after-n50-c3-j0` | 4 | [209, 72, 50, 50] | 50 | 0 of 2300 | 0 | PASS | +| `serve-after-n50-c3-disjoint` | 4 | [219, 96, 56, 57] | 57 | 0 of 1784 | 0 | PASS | +| `serve-before-n200-c1` | 2 | [4958, 4918] | 4918 | 0 of 8659 | 0 | PASS | +| `serve-after-n200-c1` | 4 | [212, 211, 217, 217] | 217 | 0 of 4028 | 0 | PASS | +| `serve-oldclient-n14-c2` | 2 | [379, 375] | 375 | 0 of 1340 | 0 | PASS | + +`serve-oldclient-n14-c2`: clientFailures=0 (PASS); gate untouched: admits={}, lane starts total=0, refusals={'selected': 0, 'visible': 0}, legacy={'hits': 301, 'upstreamReads': 670} (PASS). + +### Warm-hour spawns and per-lane table (REPORT-ONLY; lane counters are whole-run) + +| Scenario | warm-hour spawns | warm-hour by kind | req lower bound | pk60 warm | upstream starts | own | borrowed | visible | interactive | cache hits | lastGood over budget | deferredCold | max5min / max60s | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `serve-before-n14-c2` | 380 | {'rest:pulls-by-head': 37, 'graphql:sidebar': 328, 'graphql:merge-metadata': 15} | 380 | 14 | 2672 | - | - | - | - | 0 | 0 | 0 | 72 / 28 | +| `serve-after-n14-c2` | 16 | {'graphql:sidebar': 11, 'graphql:merge-metadata': 3, 'rest:pulls-by-head': 2} | 16 | 4 | 138 | 13 | 0 | 125 | 0 | 32 | 66 | 37 | 18 / 8 | +| `serve-before-n14-c2-settled` | 377 | {'rest:pulls-by-head': 37, 'graphql:sidebar': 328, 'graphql:merge-metadata': 12} | 377 | 14 | 2672 | - | - | - | - | 0 | 0 | 0 | 72 / 28 | +| `serve-after-n14-c2-settled` | 18 | {'graphql:sidebar': 12, 'graphql:merge-metadata': 4, 'rest:pulls-by-head': 2} | 18 | 5 | 103 | 13 | 0 | 90 | 0 | 6 | 64 | 37 | 18 / 8 | +| `serve-after-n14-c2-noci0` | 18 | {'graphql:sidebar': 12, 'graphql:merge-metadata': 4, 'rest:pulls-by-head': 2} | 18 | 4 | 139 | 13 | 0 | 126 | 0 | 30 | 70 | 37 | 18 / 8 | +| `serve-after-n14-c2-unfocused` | 4 | {'graphql:sidebar': 2, 'graphql:merge-metadata': 2} | 4 | 2 | 31 | 13 | 0 | 18 | 0 | 8 | 20 | 37 | 18 / 8 | +| `serve-before-ghes-n14-c2` | 1127 | {'pr:view': 358, 'rest:pulls-by-head': 68, 'graphql:checks': 358, 'rest:pull': 298, 'auth:status': 35, 'graphql:merge-metadata': 10} | 1197 | 45 | 2650 | - | - | - | - | 0 | 0 | 0 | 72 / 28 | +| `serve-after-ghes-n14-c2` | 49 | {'auth:status': 12, 'pr:view': 11, 'graphql:checks': 11, 'graphql:merge-metadata': 3, 'rest:pull': 10, 'rest:pulls-by-head': 2} | 73 | 9 | 137 | 13 | 0 | 124 | 0 | 34 | 52 | 37 | 18 / 8 | +| `serve-before-n10-c3` | 607 | {'graphql:sidebar': 522, 'rest:pulls-by-head': 71, 'graphql:merge-metadata': 14} | 607 | 18 | 2920 | - | - | - | - | 0 | 0 | 0 | 78 / 30 | +| `serve-after-n10-c3` | 12 | {'graphql:sidebar': 8, 'graphql:merge-metadata': 2, 'rest:pulls-by-head': 2} | 12 | 3 | 101 | 13 | 0 | 88 | 0 | 39 | 51 | 17 | 18 / 8 | +| `serve-before-n50-c3` | 3761 | {'rest:pulls-by-head': 510, 'graphql:sidebar': 3239, 'graphql:merge-metadata': 12} | 3761 | 124 | 6628 | - | - | - | - | 0 | 0 | 0 | 363 / 148 | +| `serve-after-n50-c3` | 52 | {'rest:pulls-by-head': 11, 'graphql:sidebar': 36, 'graphql:merge-metadata': 5} | 52 | 7 | 328 | 13 | 0 | 315 | 0 | 123 | 966 | 323 | 18 / 8 | +| `serve-after-n50-c3-j0` | 50 | {'rest:pulls-by-head': 10, 'graphql:sidebar': 36, 'graphql:merge-metadata': 4} | 50 | 8 | 322 | 12 | 0 | 310 | 0 | 122 | 901 | 323 | 18 / 7 | +| `serve-after-n50-c3-disjoint` | 57 | {'rest:pulls-by-head': 10, 'graphql:sidebar': 42, 'graphql:merge-metadata': 5} | 57 | 6 | 367 | 26 | 0 | 341 | 0 | 77 | 784 | 240 | 20 / 9 | +| `serve-before-n200-c1` | 4918 | {'rest:pulls-by-head': 680, 'graphql:sidebar': 4229, 'graphql:merge-metadata': 9} | 4918 | 176 | 8659 | - | - | - | - | 0 | 0 | 0 | 482 / 200 | +| `serve-after-n200-c1` | 217 | {'graphql:sidebar': 169, 'rest:pulls-by-head': 42, 'graphql:merge-metadata': 6} | 217 | 10 | 734 | 13 | 0 | 721 | 0 | 49 | 2403 | 842 | 18 / 8 | +| `serve-oldclient-n14-c2` | 375 | {'rest:pulls-by-head': 34, 'graphql:sidebar': 329, 'graphql:merge-metadata': 12} | 375 | 14 | 670 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 36 / 14 | + +### Before -> after pairs, warm hour (REPORT-ONLY) + +| Pair | before | after | change | +| --- | --- | --- | --- | +| `serve-before-n14-c2` -> `serve-after-n14-c2` | 380 (hour 4) | 16 (hour 4) | -95.8% | +| `serve-before-n14-c2-settled` -> `serve-after-n14-c2-settled` | 377 (hour 4) | 18 (hour 4) | -95.2% | +| `serve-before-ghes-n14-c2` -> `serve-after-ghes-n14-c2` | 1127 (hour 4) | 49 (hour 4) | -95.7% | +| `serve-before-n10-c3` -> `serve-after-n10-c3` | 607 (hour 4) | 12 (hour 4) | -98.0% | +| `serve-before-n50-c3` -> `serve-after-n50-c3` | 3761 (hour 2) | 52 (hour 4) | -98.6% | +| `serve-before-n200-c1` -> `serve-after-n200-c1` | 4918 (hour 2) | 217 (hour 4) | -95.6% | + +## Group A: desktop, GHES (20) + +| Scenario | sim h | hour 1 | hour 4 (last hour if shorter) | all hours | auth spawns last hour | rate_limit probes last hour | req lower bound last hour | pk60 last hour | pk60 whole run | Result | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `ghes-desk-before-n10-focused` | 4 | 731 | 723 | [731, 717, 717, 723] | 32 | 0 | 787 | 19 | 25 | REPORT-ONLY | +| `ghes-desk-after-n10-focused` | 4 | 156 | 42 | [156, 44, 36, 42] | 10 | 0 | 62 | 8 | 25 | REPORT-ONLY | +| `ghes-desk-before-n10-unfocused` | 4 | 731 | 726 | [731, 717, 717, 726] | 32 | 0 | 790 | 17 | 25 | REPORT-ONLY | +| `ghes-desk-after-n10-unfocused` | 4 | 76 | 10 | [76, 15, 10, 10] | 2 | 0 | 14 | 5 | 25 | REPORT-ONLY | +| `ghes-desk-after-n10-unfocused-noidle` | 4 | 156 | 36 | [156, 44, 40, 36] | 9 | 0 | 54 | 8 | 25 | REPORT-ONLY | +| `ghes-desk-before-n10-hidden` | 2 | 0 | 0 (hour 2) | [0, 0] | 0 | 0 | 0 | 0 | 0 | PASS (hidden = 0: total spawns 0) | +| `ghes-desk-after-n10-hidden` | 2 | 0 | 0 (hour 2) | [0, 0] | 0 | 0 | 0 | 0 | 0 | PASS (hidden = 0: total spawns 0) | +| `ghes-desk-after-n10-return` | 2 | 147 | 40 (hour 2) | [147, 40] | 10 | 0 | 60 | 13 | 25 | REPORT-ONLY | +| `ghes-desk-before-n10-mixed` | 4 | 728 | 723 | [728, 723, 714, 723] | 32 | 0 | 787 | 18 | 25 | REPORT-ONLY | +| `ghes-desk-after-n10-mixed` | 4 | 256 | 37 | [256, 43, 37, 37] | 9 | 0 | 55 | 8 | 25 | REPORT-ONLY | +| `ghes-desk-after-n10-focused-noci0` | 4 | 156 | 41 | [156, 44, 36, 41] | 10 | 0 | 61 | 9 | 25 | REPORT-ONLY | +| `ghes-desk-before-n50-focused` | 4 | 831 | 818 | [831, 834, 833, 818] | 120 | 0 | 1058 | 25 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-focused` | 4 | 710 | 157 | [710, 157, 157, 157] | 41 | 0 | 239 | 24 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-focused-j0` | 4 | 708 | 156 | [708, 156, 156, 156] | 41 | 0 | 238 | 25 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-focused-j25` | 4 | 710 | 191 | [710, 161, 202, 191] | 49 | 0 | 289 | 16 | 25 | REPORT-ONLY | +| `ghes-desk-before-n50-unfocused` | 4 | 831 | 818 | [831, 834, 833, 818] | 120 | 0 | 1058 | 25 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-unfocused` | 4 | 211 | 15 | [211, 10, 10, 15] | 3 | 0 | 21 | 5 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-return` | 2 | 599 | 292 (hour 2) | [599, 292] | 73 | 0 | 438 | 24 | 25 | REPORT-ONLY | +| `ghes-desk-before-n50-mixed` | 4 | 831 | 818 | [831, 834, 833, 818] | 120 | 0 | 1058 | 25 | 25 | REPORT-ONLY | +| `ghes-desk-after-n50-mixed` | 4 | 811 | 158 | [811, 190, 158, 158] | 41 | 0 | 240 | 16 | 25 | REPORT-ONLY | + +Return catch-up (REPORT-ONLY): + +| Scenario | spawns before return (first 30 min) | spawns first 15 min after | catch-up burst s | +| --- | --- | --- | --- | +| `ghes-desk-after-n10-return` | 71 | 49 | 75 | +| `ghes-desk-after-n50-return` | 206 | 210 | 200 | + +## Group B: desktop, github.com (4) + +| Scenario | sim h | hour 1 | hour 4 (last hour if shorter) | all hours | auth spawns last hour | rate_limit probes last hour | req lower bound last hour | pk60 last hour | pk60 whole run | Result | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `dotcom-desk-before-n10` | 4 | 362 | 363 | [362, 362, 362, 363] | 0 | 91 | 363 | 9 | 10 | REPORT-ONLY | +| `dotcom-desk-after-n10` | 4 | 58 | 14 | [58, 14, 13, 14] | 0 | 1 | 14 | 3 | 9 | REPORT-ONLY | +| `dotcom-desk-before-n50` | 4 | 361 | 362 | [361, 362, 362, 362] | 0 | 84 | 362 | 10 | 10 | REPORT-ONLY | +| `dotcom-desk-after-n50` | 4 | 232 | 50 | [232, 49, 50, 50] | 0 | 1 | 50 | 8 | 9 | REPORT-ONLY | + +## Group F: detection (8 x 24 simulated hours) + +§15 rule is "report". Latencies are samples / p50 / p90 / max, seconds. Contract numbers: start selected 1,810 s, start visible 3,610 s, finish selected 70 s, finish visible 130 s plus slot wait. The harness does not output slot wait, so the "plus slot wait" part cannot be subtracted; max values are compared with the bare numbers. + +| Scenario | events | undetected | startSelected | startVisible | finishSelected | finishVisible | spawns/h min..max (24 h mean) | +| --- | --- | --- | --- | --- | --- | --- | --- | +| `detect-desk-before-n10` | 97 | 0 | 16 / 41 / 60 / 62 | 33 / 43 / 107 / 115 | 16 / 36 / 55 / 57 | 32 / 68 / 114 / 126 | 711..729 (722.8) | +| `detect-desk-after-n10` | 97 | 14 | 16 / 725 / 1003 / 1182 | 18 / 484 / 1165 / 1341 | 16 / 47 / 60 / 62 | 32 / 118 / 1779 / 1945 | 49..174 (110.8) | +| `detect-desk-after-n10-j0` | 97 | 18 | 15 / 700 / 1191 / 1455 | 15 / 641 / 1375 / 1446 | 16 / 27 / 58 / 62 | 32 / 306 / 1847 / 2304 | 40..140 (97.0) | +| `detect-serve-before-n14-c2` | 97 | 0 | 32 / 31 / 45 / 56 | 66 / 52 / 110 / 120 | 32 / 34 / 56 / 59 | 64 / 62 / 107 / 119 | 367..719 (405.4) | +| `detect-serve-after-n14-c2` | 97 | 13 | 32 / 603 / 1036 / 1230 | 38 / 505 / 1244 / 1610 | 32 / 40 / 54 / 57 | 62 / 108 / 1699 / 1906 | 19..68 (43.6) | +| `detect-serve-after-n14-c2-seed2` | 93 | 17 | 26 / 870 / 1492 / 1619 | 34 / 456 / 860 / 1260 | 30 / 25 / 54 / 186 | 62 / 106 / 1480 / 1834 | 17..71 (36.6) | +| `detect-serve-after-n14-c2-j0` | 97 | 17 | 32 / 909 / 1316 / 1456 | 30 / 584 / 1446 / 1527 | 32 / 18 / 41 / 51 | 64 / 217 / 2085 / 2291 | 16..66 (37.9) | +| `detect-serve-oldclient-n14-c2` | 97 | 0 | 32 / 34 / 52 / 58 | 66 / 65 / 117 / 120 | 32 / 19 / 49 / 50 | 64 / 72 / 116 / 119 | 366..382 (375.3) | + +### Max latency against the contract numbers + +| Scenario | start selected max (<=1810) | start visible max (<=3610) | finish selected max (<=70) | finish visible max (<=130 + slot wait) | undetected | +| --- | --- | --- | --- | --- | --- | +| `detect-desk-before-n10` | 62 within | 115 within | 57 within | 126 within | 0 | +| `detect-desk-after-n10` | 1182 within | 1341 within | 62 within | **1945 OVER** (by 1815) | **14** | +| `detect-desk-after-n10-j0` | 1455 within | 1446 within | 62 within | **2304 OVER** (by 2174) | **18** | +| `detect-serve-before-n14-c2` | 56 within | 120 within | 59 within | 119 within | 0 | +| `detect-serve-after-n14-c2` | 1230 within | 1610 within | 57 within | **1906 OVER** (by 1776) | **13** | +| `detect-serve-after-n14-c2-seed2` | 1619 within | 1260 within | **186 OVER** (by 116) | **1834 OVER** (by 1704) | **17** | +| `detect-serve-after-n14-c2-j0` | 1456 within | 1527 within | 51 within | **2291 OVER** (by 2161) | **17** | +| `detect-serve-oldclient-n14-c2` | 58 within | 120 within | 50 within | 119 within | 0 | + +## Unknown gh/git commands recorded by the harness + +None in any of the 66 scenarios. + +## Every FAIL / over-contract / unexpected item + +- detect-desk-after-n10: undetected=14 of 97 events +- detect-desk-after-n10: finishVisible max 1945 s > bare contract 130 s (slot wait not reported by harness; p90 1779 s) +- detect-desk-after-n10-j0: undetected=18 of 97 events +- detect-desk-after-n10-j0: finishVisible max 2304 s > bare contract 130 s (slot wait not reported by harness; p90 1847 s) +- detect-serve-after-n14-c2: undetected=13 of 97 events +- detect-serve-after-n14-c2: finishVisible max 1906 s > bare contract 130 s (slot wait not reported by harness; p90 1699 s) +- detect-serve-after-n14-c2-seed2: undetected=17 of 93 events +- detect-serve-after-n14-c2-seed2: finishSelected max 186 s > contract 70 s +- detect-serve-after-n14-c2-seed2: finishVisible max 1834 s > bare contract 130 s (slot wait not reported by harness; p90 1480 s) +- detect-serve-after-n14-c2-j0: undetected=17 of 97 events +- detect-serve-after-n14-c2-j0: finishVisible max 2291 s > bare contract 130 s (slot wait not reported by harness; p90 2085 s) + +## Comparison with the local figures + +| Figure | Local (RUN.md / D3) | m4-air | Deviation | +| --- | --- | --- | --- | +| GHES desktop, 10 worktrees, focused, before, warm hour | 717 spawns/h | hours 1 to 4: 731, 717, 717, 723. Hour 4 = 723 | hour 4: +0.8%. Hours 2 and 3 equal the local figure | +| GHES desktop, 10 worktrees, focused, after, warm hour | 36 spawns/h | hours 1 to 4: 156, 44, 36, 42. Hour 4 = 42 | hour 4: **+16.7%** (6 spawns). Hour 3 equals the local figure | +| Serve 14 rows x 2 clients, before, warm hour | 377 | mixed: 380 (hours 729, 597, 399, 380). settled: 377 (731, 670, 418, 377) | mixed +0.8%; settled equal | +| Serve 14 rows x 2 clients, after, warm hour | 16 | mixed: 16 (107, 23, 17, 16). settled: 18 (68, 21, 19, 18) | mixed equal; settled **+12.5%** (2 spawns) | +| D3 lanes, worst visible wait | 471 to 491 s | gate-d3 visible `waitedS.max`: N=50: 900, 910, 920, 942, 900 (fg). N=20: 347. N=14: 171, 215 | **No m4-air scenario falls in 471 to 491 s.** N=50 values are 83% to 100% above that range; N=14/20 values are below it. All are inside the §15 limit (1,200 s at N=50, 600 s at N=14/20) | + +The brief gives the local figures without the scenario names, so the pairing above (focused N=10 for GHES desktop, `serve-*-n14-c2` and `-settled` for serve, gate-d3 visible `waitedS.max` for lanes) is my reading. Other m4-air numbers near 471 to 491 s, for whoever knows which metric the local figure was: selected-identity `maxGapS` in `lanes-4sel-checks-n20-c4-gate-d3` is 459, 480, 499; selected-own `waitedS.max` is 439 there and 524 in `lanes-4sel-checks-n50-c4-gate-d3`. + +## Reproducibility check (extra, not in RUN.md) + +Because the lanes figures differ from the local ones, two scenarios were run a second time with the identical spec line (parallel 2, load about 4.5), writing to `determinism-check/`. Both rc=0. Neither JSON is identical to the main run. + +| Scenario | Metric | Main run | Rerun | +| --- | --- | --- | --- | +| `lanes-4sel-n50-c4-gate-d3` (3 h) | total gh spawns | 604 | 603 | +| | visible waitedS.max / budgeted pk5min / pk60 / neverServed | 900 / 20 / 10 / 0 | 900 / 20 / 10 / 0 | +| | selected identities maxGapS | 288, 289, 280, 295 | 288, 288, 280, 295 | +| | last-hour rolling peak 60 s | 7 | 8 | +| `detect-serve-after-n14-c2` (24 h) | total gh spawns | 1,046 | 1,011 (-3.3%) | +| | undetected / events | 13 / 97 | 14 / 97 | +| | startSelected samples/p50/p90/max | 32 / 603 / 1036 / 1230 | 32 / 653 / 1166 / 1712 | +| | startVisible | 38 / 505 / 1244 / 1610 | 36 / 443 / 1278 / 1686 | +| | finishSelected | 32 / 40 / 54 / 57 | 32 / 31 / 48 / 50 | +| | finishVisible | 62 / 108 / 1699 / 1906 | 62 / 111 / 1734 / 2079 | + +The pass/fail results above use the main run only. The rerun does not change any verdict, but single-run values, the 24 h detection maxima in particular, move between runs on the same machine and commit. The cause was not investigated (measurement only). + +## Notes and limits + +- "Selected" in the D pass rule was read as `selectedTotal.peak5min`; "R" as `EXP_N`. +- `cancel-hidden` was checked at 1-simulated-minute resolution (`gh.timelinePerMinute`): all 5 gh spawns (3 upstream starts) are in minute 0, none in minutes 1 to 59. +- "hidden = 0" was applied to total spawns of the two `hidden` scenarios (both 0). +- Lane counters in the C per-lane table are whole-run, not warm-hour; the harness does not split them by hour. +- Driver used for the full run (not part of the harness; calls `run-specs.sh` once per group in priority order and logs `uptime` before and after): + +```sh +E=src/main/github/__experiments__ +CORES=$(sysctl -n hw.ncpu) +for g in "D:^lanes-" "E:^(timeout|cancel)-" "C:^serve-" "A:^ghes-desk-" "B:^dotcom-" "F:^detect-"; do + name=${g%%:*}; re=${g#*:} + load=$(sysctl -n vm.loadavg | awk '{print $2}') + par=4; if awk "BEGIN{exit !($load > $CORES)}"; then par=2; fi + echo "group $name before $(date -u +%FT%TZ) par=$par $(uptime)" | tee -a $E/uptime-log.txt + $E/run-specs.sh $E/specs3.txt $par "$re" + echo "group $name after $(date -u +%FT%TZ) $(uptime)" | tee -a $E/uptime-log.txt +done +``` + +## Files + +`results/*.json` (66 scenarios + 4 probes), `logs/*.log`, `logs-probes.txt`, `run-stdout-smoke.txt`, `sha256.txt`, `uptime-log.txt`, `determinism-check/`, and at the repository root `table3.txt` and `run-stdout.txt`. Model: Claude Fable 5.2 (claude-fable-5-2), effort low. diff --git a/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.json b/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.json new file mode 100644 index 00000000000..cb90d2c8c68 --- /dev/null +++ b/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.json @@ -0,0 +1,1691 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 1011, + "perHour": 42.1, + "byKind": { + "graphql:sidebar": 845, + "graphql:merge-metadata": 110, + "rest:pulls-by-head": 56 + }, + "apiRequestsByHost": { + "github.com": 1011 + }, + "apiRequestsPerHourByHost": { + "github.com": 42.1 + }, + "firstHour": 68, + "perHourCounts": [ + 68, + 50, + 27, + 45, + 35, + 37, + 46, + 37, + 52, + 53, + 41, + 44, + 52, + 64, + 19, + 34, + 45, + 32, + 38, + 39, + 24, + 40, + 59, + 30 + ], + "lastHourByKind": { + "graphql:sidebar": 24, + "rest:pulls-by-head": 2, + "graphql:merge-metadata": 4 + }, + "lastHourRollingPeak60s": 3, + "first15min": 44, + "steadyPerHour": 40.7, + "steadyPerMinute": 0.68, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 0, + 3, + 4, + 2, + 0, + 0, + 2, + 1, + 0, + 3, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 3, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 3, + 0, + 2, + 2, + 3, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 2, + 0, + 2, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 1, + 4, + 2, + 3, + 3, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 2, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 1, + 2, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 3, + 1, + 0, + 2, + 1, + 1, + 1, + 1, + 4, + 1, + 1, + 4, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 3, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 3, + 1, + 1, + 2, + 1, + 1, + 1, + 3, + 2, + 1, + 1, + 2, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 3, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 3, + 2, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 2, + 0, + 2, + 1, + 3, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 3, + 0, + 1, + 2, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 3, + 1, + 3, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 4, + 2, + 3, + 1, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 0, + 0, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 2, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 3, + 0, + 2, + 0, + 3, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 3, + 1, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 3, + 0, + 1, + 0, + 1, + 2, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 3, + 3, + 2, + 1, + 1, + 1, + 1, + 2, + 2, + 1, + 2, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 3, + 3, + 1, + 2, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 2, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 2, + 0, + 3, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 2, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 3, + 2, + 1, + 3, + 1, + 2, + 1, + 3, + 2, + 1, + 2, + 3, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 3, + 2, + 1, + 1, + 2, + 1, + 1, + 0, + 1, + 1, + 3, + 2, + 1, + 1, + 1, + 2, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 1, + 0, + 3, + 0, + 1, + 1, + 2, + 0, + 2, + 0, + 1, + 1, + 1, + 1, + 1, + 3, + 3, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 3, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 3, + 1, + 1, + 2, + 3, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 2, + 0, + 3, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 3, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 0, + 3, + 0, + 0, + 1, + 0, + 0 + ] + }, + "git": { + "total": 1771 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 872, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 344, + "visible": 516, + "selected-borrowed": 12 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 86400, + "lanes": { + "selected-own": { + "starts": 344, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 12, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 1 + }, + "visible": { + "starts": 516, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 356, + "peak60s": 2, + "peak5min": 6 + }, + "budgeted": { + "starts": 872, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 2, + "visible": 149 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 356, + "medianGapS": 60, + "maxGapS": 1796 + } + ], + "cacheHits": 6, + "lastGoodServedOverBudget": 114, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3622, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1211, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 872, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 1895, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 97, + "startSelected": { + "samples": 32, + "p50": 653, + "p90": 1166, + "max": 1712 + }, + "startVisible": { + "samples": 36, + "p50": 443, + "p90": 1278, + "max": 1686 + }, + "finishSelected": { + "samples": 32, + "p50": 31, + "p90": 48, + "max": 50 + }, + "finishVisible": { + "samples": 62, + "p50": 111, + "p90": 1734, + "max": 2079 + }, + "undetected": 14 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.log b/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.log new file mode 100644 index 00000000000..26db0868fcd --- /dev/null +++ b/src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:05:06 + Duration 3.76s (tests 44%, transform 43%, import 11%, setup 1%) + diff --git a/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.json b/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.json new file mode 100644 index 00000000000..d864bf86eed --- /dev/null +++ b/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.json @@ -0,0 +1,416 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 4, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 603, + "perHour": 201, + "byKind": { + "graphql:sidebar": 525, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 59 + }, + "apiRequestsByHost": { + "github.com": 603 + }, + "apiRequestsPerHourByHost": { + "github.com": 201 + }, + "firstHour": 268, + "perHourCounts": [ + 268, + 173, + 162 + ], + "lastHourByKind": { + "graphql:sidebar": 146, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 8, + "first15min": 68, + "steadyPerHour": 194.5, + "steadyPerMinute": 3.24, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 12, + "worstPeakToMean15min": 3.05, + "timelinePerMinute": [ + 12, + 9, + 3, + 0, + 0, + 10, + 9, + 3, + 0, + 0, + 10, + 9, + 3, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 11, + 9, + 3, + 0, + 0, + 9, + 10, + 3, + 0, + 0, + 11, + 9, + 3, + 0, + 0, + 10, + 8, + 3, + 0, + 0, + 12, + 9, + 4, + 0, + 0, + 9, + 8, + 4, + 0, + 0, + 5, + 5, + 4, + 3, + 2, + 7, + 6, + 4, + 4, + 2, + 7, + 7, + 4, + 2, + 2, + 4, + 4, + 2, + 0, + 0, + 5, + 5, + 2, + 0, + 0, + 4, + 4, + 2, + 0, + 0, + 4, + 5, + 4, + 0, + 2, + 4, + 7, + 5, + 2, + 2, + 6, + 7, + 6, + 1, + 3, + 4, + 4, + 2, + 0, + 0, + 4, + 4, + 3, + 0, + 0, + 4, + 5, + 2, + 0, + 1, + 4, + 6, + 3, + 2, + 1, + 4, + 4, + 2, + 1, + 1, + 4, + 4, + 3, + 1, + 0, + 4, + 4, + 2, + 0, + 0, + 5, + 4, + 2, + 0, + 0, + 5, + 4, + 2, + 0, + 2, + 4, + 6, + 2, + 3, + 3, + 7, + 5, + 4, + 3, + 3, + 7, + 5, + 2, + 0, + 0, + 5, + 4, + 2, + 0, + 0, + 4, + 4, + 2, + 0, + 0, + 7, + 5, + 2, + 2, + 0, + 5, + 4, + 2, + 0, + 2, + 6, + 3, + 3, + 0, + 0 + ] + }, + "git": { + "total": 1124 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 550, + "maxStartsPer5min": 20, + "maxStartsPer60s": 10, + "admits": { + "selected-own": 181, + "visible": 257, + "selected-borrowed": 112 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 181, + "overdueAtStartS": { + "p50": 108, + "p90": 220, + "max": 235 + }, + "waitedSinceFirstRefusalS": { + "p50": 108, + "p90": 220, + "max": 235 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 112, + "overdueAtStartS": { + "p50": 10, + "p90": 169, + "max": 200 + }, + "waitedSinceFirstRefusalS": { + "p50": 10, + "p90": 169, + "max": 200 + }, + "peak60s": 4, + "peak5min": 5 + }, + "visible": { + "starts": 257, + "overdueAtStartS": { + "p50": 218, + "p90": 690, + "max": 900 + }, + "waitedSinceFirstRefusalS": { + "p50": 218, + "p90": 690, + "max": 900 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 293, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 550, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 284, + "visible": 1902 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 900 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 76, + "medianGapS": 90, + "maxGapS": 288 + }, + { + "identity": "pr:feat/wt-7", + "starts": 72, + "medianGapS": 100, + "maxGapS": 288 + }, + { + "identity": "pr:feat/wt-12", + "starts": 73, + "medianGapS": 90, + "maxGapS": 280 + }, + { + "identity": "pr:feat/wt-17", + "starts": 72, + "medianGapS": 189, + "maxGapS": 295 + } + ], + "cacheHits": 268, + "lastGoodServedOverBudget": 1825, + "deferredCold": 361, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1161, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 154, + "p50": 87, + "max": 801 + }, + "2": { + "admits": 152, + "p50": 107, + "max": 740 + }, + "3": { + "admits": 121, + "p50": 73, + "max": 750 + }, + "4": { + "admits": 123, + "p50": 148, + "max": 900 + } + }, + "clientRefreshCalls": 3739, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.log b/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.log new file mode 100644 index 00000000000..056772720f6 --- /dev/null +++ b/src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:05:06 + Duration 2.85s (transform 58%, tests 26%, import 14%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/determinism-check/summary.txt b/src/main/github/__experiments__/determinism-check/summary.txt new file mode 100644 index 00000000000..e7dce8b76cc --- /dev/null +++ b/src/main/github/__experiments__/determinism-check/summary.txt @@ -0,0 +1,4 @@ +lanes-4sel-n50-c4-gate-d3 rc=0 wall=25s +detect-serve-after-n14-c2 rc=0 wall=26s +src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d3.json src/main/github/__experiments__/determinism-check/lanes-4sel-n50-c4-gate-d3.json differ: char 587, line 30 +src/main/github/__experiments__/results/detect-serve-after-n14-c2.json src/main/github/__experiments__/determinism-check/detect-serve-after-n14-c2.json differ: char 589, line 30 diff --git a/src/main/github/__experiments__/logs-probes.txt b/src/main/github/__experiments__/logs-probes.txt new file mode 100644 index 00000000000..e918e162e04 --- /dev/null +++ b/src/main/github/__experiments__/logs-probes.txt @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/gate-lanes.probe.test.ts src/main/github/__experiments__/scheduler-d3.probe.test.ts src/main/github/__experiments__/policy-d3.probe.test.ts src/main/github/__experiments__/rate-limit-d3.probe.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 4 passed (4) + Tests 17 passed (17) + Start at 12:49:32 + Duration 284ms (transform 33%, setup 29%, tests 26%, worker 10%, import 2%) + diff --git a/src/main/github/__experiments__/logs/cancel-allgone30-n50-c3.log b/src/main/github/__experiments__/logs/cancel-allgone30-n50-c3.log new file mode 100644 index 00000000000..529f5bf4d1b --- /dev/null +++ b/src/main/github/__experiments__/logs/cancel-allgone30-n50-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:13 + Duration 2.58s (transform 71%, import 15%, tests 12%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/cancel-disconnect20-n50-c3.log b/src/main/github/__experiments__/logs/cancel-disconnect20-n50-c3.log new file mode 100644 index 00000000000..c36f1d67281 --- /dev/null +++ b/src/main/github/__experiments__/logs/cancel-disconnect20-n50-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:48 + Duration 3.77s (transform 72%, import 16%, tests 11%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/cancel-hidden-n14-c2.log b/src/main/github/__experiments__/logs/cancel-hidden-n14-c2.log new file mode 100644 index 00000000000..5cc9a0543d3 --- /dev/null +++ b/src/main/github/__experiments__/logs/cancel-hidden-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:14 + Duration 2.14s (transform 77%, import 16%, tests 4%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/detect-desk-after-n10-j0.log b/src/main/github/__experiments__/logs/detect-desk-after-n10-j0.log new file mode 100644 index 00000000000..d90275a2b6e --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-desk-after-n10-j0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:02:13 + Duration 5.65s (tests 50%, transform 41%, import 8%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/detect-desk-after-n10.log b/src/main/github/__experiments__/logs/detect-desk-after-n10.log new file mode 100644 index 00000000000..f88bfa81469 --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-desk-after-n10.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:02:13 + Duration 5.91s (tests 54%, transform 38%, import 8%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/detect-desk-before-n10.log b/src/main/github/__experiments__/logs/detect-desk-before-n10.log new file mode 100644 index 00000000000..158bcf01da4 --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-desk-before-n10.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:02:15 + Duration 11.13s (tests 80%, transform 16%, import 4%) + diff --git a/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-j0.log b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-j0.log new file mode 100644 index 00000000000..90e6957b9ce --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-j0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:03:02 + Duration 4.91s (transform 47%, tests 41%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-seed2.log b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-seed2.log new file mode 100644 index 00000000000..5809d52bab9 --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2-seed2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:03:04 + Duration 3.89s (tests 46%, transform 43%, import 9%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/detect-serve-after-n14-c2.log b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2.log new file mode 100644 index 00000000000..4955325ca82 --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-serve-after-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:03:00 + Duration 5.82s (transform 46%, tests 43%, import 9%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/detect-serve-before-n14-c2.log b/src/main/github/__experiments__/logs/detect-serve-before-n14-c2.log new file mode 100644 index 00000000000..a3bb3a14746 --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-serve-before-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:02:15 + Duration 10.19s (tests 77%, transform 19%, import 4%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/detect-serve-oldclient-n14-c2.log b/src/main/github/__experiments__/logs/detect-serve-oldclient-n14-c2.log new file mode 100644 index 00000000000..3d3afe6df9d --- /dev/null +++ b/src/main/github/__experiments__/logs/detect-serve-oldclient-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:03:00 + Duration 9.35s (tests 65%, transform 29%, import 6%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/dotcom-desk-after-n10.log b/src/main/github/__experiments__/logs/dotcom-desk-after-n10.log new file mode 100644 index 00000000000..788e0ca78a9 --- /dev/null +++ b/src/main/github/__experiments__/logs/dotcom-desk-after-n10.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:01:34 + Duration 3.51s (transform 73%, import 14%, tests 11%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/dotcom-desk-after-n50.log b/src/main/github/__experiments__/logs/dotcom-desk-after-n50.log new file mode 100644 index 00000000000..8ffb88bd3d5 --- /dev/null +++ b/src/main/github/__experiments__/logs/dotcom-desk-after-n50.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:01:33 + Duration 3.86s (transform 63%, tests 23%, import 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/dotcom-desk-before-n10.log b/src/main/github/__experiments__/logs/dotcom-desk-before-n10.log new file mode 100644 index 00000000000..40131a85cd3 --- /dev/null +++ b/src/main/github/__experiments__/logs/dotcom-desk-before-n10.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:01:35 + Duration 3.67s (transform 64%, tests 21%, import 12%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/dotcom-desk-before-n50.log b/src/main/github/__experiments__/logs/dotcom-desk-before-n50.log new file mode 100644 index 00000000000..f990fff4c9e --- /dev/null +++ b/src/main/github/__experiments__/logs/dotcom-desk-before-n50.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:01:32 + Duration 4.97s (transform 53%, tests 34%, import 11%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused-noci0.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused-noci0.log new file mode 100644 index 00000000000..c46a2182728 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused-noci0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:59:10 + Duration 3.65s (transform 70%, import 14%, tests 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused.log new file mode 100644 index 00000000000..2d0a43498dd --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-focused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:57:42 + Duration 2.39s (transform 69%, import 15%, tests 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-hidden.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-hidden.log new file mode 100644 index 00000000000..da174c1ce72 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-hidden.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:58:27 + Duration 2.95s (transform 78%, import 15%, tests 4%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-mixed.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-mixed.log new file mode 100644 index 00000000000..a2025f9466d --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-mixed.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:59:13 + Duration 2.64s (transform 68%, tests 15%, import 14%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-return.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-return.log new file mode 100644 index 00000000000..2b56e078f84 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-return.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:58:28 + Duration 2.80s (transform 75%, import 15%, tests 7%, setup 3%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused-noidle.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused-noidle.log new file mode 100644 index 00000000000..7f3e4cd0db5 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused-noidle.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:58:25 + Duration 4.02s (transform 71%, import 14%, tests 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused.log b/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused.log new file mode 100644 index 00000000000..aedeaafb78f --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n10-unfocused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:57:40 + Duration 3.34s (transform 73%, import 15%, tests 10%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j0.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j0.log new file mode 100644 index 00000000000..87ce193b0c9 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:01 + Duration 4.29s (transform 61%, tests 25%, import 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j25.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j25.log new file mode 100644 index 00000000000..143580e3a49 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused-j25.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:02 + Duration 3.78s (transform 61%, tests 24%, import 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused.log new file mode 100644 index 00000000000..7017ce472b9 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-focused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:02 + Duration 3.72s (transform 62%, tests 23%, import 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-mixed.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-mixed.log new file mode 100644 index 00000000000..1f1bafe165a --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-mixed.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:47 + Duration 4.30s (transform 62%, tests 23%, import 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-return.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-return.log new file mode 100644 index 00000000000..cecb0d5e1e2 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-return.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:49 + Duration 3.05s (transform 69%, tests 15%, import 14%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-after-n50-unfocused.log b/src/main/github/__experiments__/logs/ghes-desk-after-n50-unfocused.log new file mode 100644 index 00000000000..049e094c604 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-after-n50-unfocused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:47 + Duration 3.45s (transform 71%, import 14%, tests 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n10-focused.log b/src/main/github/__experiments__/logs/ghes-desk-before-n10-focused.log new file mode 100644 index 00000000000..e6c3e82951b --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n10-focused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:57:39 + Duration 4.90s (transform 52%, tests 36%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n10-hidden.log b/src/main/github/__experiments__/logs/ghes-desk-before-n10-hidden.log new file mode 100644 index 00000000000..e6191e90489 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n10-hidden.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:58:26 + Duration 3.43s (transform 77%, import 15%, tests 5%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n10-mixed.log b/src/main/github/__experiments__/logs/ghes-desk-before-n10-mixed.log new file mode 100644 index 00000000000..67fa11f7ebf --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n10-mixed.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:59:11 + Duration 4.49s (transform 49%, tests 39%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n10-unfocused.log b/src/main/github/__experiments__/logs/ghes-desk-before-n10-unfocused.log new file mode 100644 index 00000000000..ecc9ba411bf --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n10-unfocused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:57:39 + Duration 5.52s (transform 54%, tests 34%, import 10%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n50-focused.log b/src/main/github/__experiments__/logs/ghes-desk-before-n50-focused.log new file mode 100644 index 00000000000..6309e72c4a0 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n50-focused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:59:10 + Duration 5.41s (transform 51%, tests 37%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n50-mixed.log b/src/main/github/__experiments__/logs/ghes-desk-before-n50-mixed.log new file mode 100644 index 00000000000..d8b8c4d5a8a --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n50-mixed.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:48 + Duration 4.36s (transform 52%, tests 35%, import 10%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/ghes-desk-before-n50-unfocused.log b/src/main/github/__experiments__/logs/ghes-desk-before-n50-unfocused.log new file mode 100644 index 00000000000..b1bcf61a9a0 --- /dev/null +++ b/src/main/github/__experiments__/logs/ghes-desk-before-n50-unfocused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 13:00:02 + Duration 4.64s (transform 51%, tests 38%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-1sel-checks-n14-c2-gate-d3.log b/src/main/github/__experiments__/logs/lanes-1sel-checks-n14-c2-gate-d3.log new file mode 100644 index 00000000000..d406a783d7b --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-1sel-checks-n14-c2-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:51:37 + Duration 2.93s (transform 67%, tests 17%, import 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-1sel-checks-n50-c2-gate-d3.log b/src/main/github/__experiments__/logs/lanes-1sel-checks-n50-c2-gate-d3.log new file mode 100644 index 00000000000..0be0ffd6792 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-1sel-checks-n50-c2-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:51:37 + Duration 3.10s (transform 61%, tests 24%, import 12%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-2sel-checks-n14-c2-gate-d3.log b/src/main/github/__experiments__/logs/lanes-2sel-checks-n14-c2-gate-d3.log new file mode 100644 index 00000000000..81673ea6f54 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-2sel-checks-n14-c2-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:06 + Duration 2.97s (transform 67%, tests 16%, import 15%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d2.log b/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d2.log new file mode 100644 index 00000000000..6e1d5380ded --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:51:38 + Duration 3.21s (transform 57%, tests 28%, import 11%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d3.log b/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d3.log new file mode 100644 index 00000000000..5609d7afa20 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-2sel-n50-c2-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:51:35 + Duration 4.23s (transform 62%, tests 23%, import 13%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-4sel-checks-n20-c4-gate-d3.log b/src/main/github/__experiments__/logs/lanes-4sel-checks-n20-c4-gate-d3.log new file mode 100644 index 00000000000..52395e89674 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-4sel-checks-n20-c4-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:08 + Duration 2.38s (transform 65%, tests 18%, import 14%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d2.log b/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d2.log new file mode 100644 index 00000000000..b39535e2427 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:50:57 + Duration 3.53s (transform 55%, tests 32%, import 11%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d3.log b/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d3.log new file mode 100644 index 00000000000..2185aa59dd6 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-4sel-checks-n50-c4-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:50:56 + Duration 3.43s (transform 59%, tests 27%, import 12%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d2.log b/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d2.log new file mode 100644 index 00000000000..75cbf67ab5f --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:50:58 + Duration 3.23s (transform 50%, tests 38%, import 10%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d3.log b/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d3.log new file mode 100644 index 00000000000..e2e337cf3e4 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-4sel-n50-c4-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:50:56 + Duration 3.86s (transform 59%, tests 27%, import 12%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/lanes-fg-n50-c4-gate-d3.log b/src/main/github/__experiments__/logs/lanes-fg-n50-c4-gate-d3.log new file mode 100644 index 00000000000..aa7088f1499 --- /dev/null +++ b/src/main/github/__experiments__/logs/lanes-fg-n50-c4-gate-d3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:08 + Duration 3.73s (tests 49%, transform 40%, import 9%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-ghes-n14-c2.log b/src/main/github/__experiments__/logs/serve-after-ghes-n14-c2.log new file mode 100644 index 00000000000..fb2cd4f4314 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-ghes-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:54:49 + Duration 3.60s (transform 72%, import 14%, tests 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n10-c3.log b/src/main/github/__experiments__/logs/serve-after-n10-c3.log new file mode 100644 index 00000000000..1a434b5cff5 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n10-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:55:39 + Duration 3.69s (transform 70%, import 14%, tests 13%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n14-c2-noci0.log b/src/main/github/__experiments__/logs/serve-after-n14-c2-noci0.log new file mode 100644 index 00000000000..976a2148c7a --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n14-c2-noci0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:54:48 + Duration 4.24s (transform 70%, import 14%, tests 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n14-c2-settled.log b/src/main/github/__experiments__/logs/serve-after-n14-c2-settled.log new file mode 100644 index 00000000000..458fad9021d --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n14-c2-settled.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:54 + Duration 4.28s (transform 68%, tests 16%, import 14%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n14-c2-unfocused.log b/src/main/github/__experiments__/logs/serve-after-n14-c2-unfocused.log new file mode 100644 index 00000000000..ce75c296799 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n14-c2-unfocused.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:54:48 + Duration 3.80s (transform 72%, import 15%, tests 10%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n14-c2.log b/src/main/github/__experiments__/logs/serve-after-n14-c2.log new file mode 100644 index 00000000000..9009f434aa0 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:58 + Duration 2.84s (transform 70%, import 15%, tests 13%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n200-c1.log b/src/main/github/__experiments__/logs/serve-after-n200-c1.log new file mode 100644 index 00000000000..674ee17452a --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n200-c1.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:56:32 + Duration 5.97s (transform 47%, tests 42%, import 9%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n50-c3-disjoint.log b/src/main/github/__experiments__/logs/serve-after-n50-c3-disjoint.log new file mode 100644 index 00000000000..bfb428cfdc1 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n50-c3-disjoint.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:56:33 + Duration 4.32s (transform 60%, tests 26%, import 12%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n50-c3-j0.log b/src/main/github/__experiments__/logs/serve-after-n50-c3-j0.log new file mode 100644 index 00000000000..6e8d599de38 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n50-c3-j0.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:56:32 + Duration 4.33s (transform 60%, tests 26%, import 12%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-after-n50-c3.log b/src/main/github/__experiments__/logs/serve-after-n50-c3.log new file mode 100644 index 00000000000..55e9f78639a --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-after-n50-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:55:39 + Duration 4.21s (transform 61%, tests 24%, import 12%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-ghes-n14-c2.log b/src/main/github/__experiments__/logs/serve-before-ghes-n14-c2.log new file mode 100644 index 00000000000..afadec7db01 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-ghes-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:54:49 + Duration 5.26s (transform 47%, tests 42%, import 9%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-n10-c3.log b/src/main/github/__experiments__/logs/serve-before-n10-c3.log new file mode 100644 index 00000000000..ec700f67563 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-n10-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:55:38 + Duration 5.96s (transform 47%, tests 42%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-n14-c2-settled.log b/src/main/github/__experiments__/logs/serve-before-n14-c2-settled.log new file mode 100644 index 00000000000..958f645cd30 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-n14-c2-settled.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:59 + Duration 3.72s (transform 51%, tests 37%, import 10%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-n14-c2.log b/src/main/github/__experiments__/logs/serve-before-n14-c2.log new file mode 100644 index 00000000000..034f69b6a30 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:53:55 + Duration 5.23s (transform 52%, tests 37%, import 10%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-n200-c1.log b/src/main/github/__experiments__/logs/serve-before-n200-c1.log new file mode 100644 index 00000000000..39e2dbe4371 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-n200-c1.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:56:33 + Duration 9.30s (tests 66%, transform 28%, import 6%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-before-n50-c3.log b/src/main/github/__experiments__/logs/serve-before-n50-c3.log new file mode 100644 index 00000000000..bc6c50af4e4 --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-before-n50-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:55:38 + Duration 8.02s (tests 56%, transform 35%, import 7%, worker 1%, setup 1%) + diff --git a/src/main/github/__experiments__/logs/serve-oldclient-n14-c2.log b/src/main/github/__experiments__/logs/serve-oldclient-n14-c2.log new file mode 100644 index 00000000000..eb5744663ae --- /dev/null +++ b/src/main/github/__experiments__/logs/serve-oldclient-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:56:58 + Duration 2.01s (transform 59%, tests 24%, import 15%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/timeout-slow3-n14-c2.log b/src/main/github/__experiments__/logs/timeout-slow3-n14-c2.log new file mode 100644 index 00000000000..25fed0c975b --- /dev/null +++ b/src/main/github/__experiments__/logs/timeout-slow3-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:47 + Duration 4.15s (transform 70%, import 14%, tests 14%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/timeout-slow3-n50-c3.log b/src/main/github/__experiments__/logs/timeout-slow3-n50-c3.log new file mode 100644 index 00000000000..5dd0ecd497c --- /dev/null +++ b/src/main/github/__experiments__/logs/timeout-slow3-n50-c3.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:49 + Duration 3.24s (transform 70%, tests 14%, import 14%, setup 2%, worker 1%) + diff --git a/src/main/github/__experiments__/logs/timeout-slow5-over-client-deadline-n14-c2.log b/src/main/github/__experiments__/logs/timeout-slow5-over-client-deadline-n14-c2.log new file mode 100644 index 00000000000..711754c46d4 --- /dev/null +++ b/src/main/github/__experiments__/logs/timeout-slow5-over-client-deadline-n14-c2.log @@ -0,0 +1,11 @@ +npm notice run orca@1.4.214 npx +npm notice run 'vitest' run --config config/vitest.config.ts src/main/github/__experiments__/polling-d2.experiment.test.ts + + RUN v5.0.5 /Users/m4air/orca/workspaces/orca/sta-8667-d3-m4air-gate + + + Test Files 1 passed (1) + Tests 1 passed (1) + Start at 12:52:48 + Duration 3.78s (transform 69%, tests 15%, import 14%, setup 1%, worker 1%) + diff --git a/src/main/github/__experiments__/results/cancel-allgone30-n50-c3.json b/src/main/github/__experiments__/results/cancel-allgone30-n50-c3.json new file mode 100644 index 00000000000..827a6bd842d --- /dev/null +++ b/src/main/github/__experiments__/results/cancel-allgone30-n50-c3.json @@ -0,0 +1,297 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 1.5, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": 30, + "fgEveryS": 0 + }, + "simulatedSeconds": 5400, + "gh": { + "spawns": 110, + "perHour": 73.3, + "byKind": { + "graphql:sidebar": 90, + "graphql:merge-metadata": 4, + "rest:pulls-by-head": 16 + }, + "apiRequestsByHost": { + "github.com": 110 + }, + "apiRequestsPerHourByHost": { + "github.com": 73.3 + }, + "firstHour": 110, + "perHourCounts": [ + 110, + 0 + ], + "lastHourByKind": {}, + "lastHourRollingPeak60s": 0, + "first15min": 58, + "steadyPerHour": 41.6, + "steadyPerMinute": 0.69, + "rollingPeak60s": 13, + "rollingPeak60sSteady": 8, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 1, + 6, + 8, + 3, + 0, + 0, + 8, + 7, + 3, + 0, + 0, + 7, + 6, + 3, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 198 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 96, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 6, + "visible": 90 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 5400, + "lanes": { + "selected-own": { + "starts": 6, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 90, + "overdueAtStartS": { + "p50": 620, + "p90": 826, + "max": 942 + }, + "waitedSinceFirstRefusalS": { + "p50": 620, + "p90": 826, + "max": 942 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 6, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 96, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 833 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 6, + "medianGapS": 233, + "maxGapS": 872 + } + ], + "cacheHits": 12, + "lastGoodServedOverBudget": 510, + "deferredCold": 323, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 1800, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 7, + "p50": 10, + "max": 40 + }, + "2": { + "admits": 17, + "p50": 360, + "max": 440 + }, + "3": { + "admits": 72, + "p50": 701, + "max": 942 + } + }, + "clientRefreshCalls": 1120, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": 0 + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/cancel-disconnect20-n50-c3.json b/src/main/github/__experiments__/results/cancel-disconnect20-n50-c3.json new file mode 100644 index 00000000000..56461d7310f --- /dev/null +++ b/src/main/github/__experiments__/results/cancel-disconnect20-n50-c3.json @@ -0,0 +1,337 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": true, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": 20, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 315, + "perHour": 157.5, + "byKind": { + "graphql:sidebar": 256, + "graphql:merge-metadata": 12, + "rest:pulls-by-head": 47 + }, + "apiRequestsByHost": { + "github.com": 315 + }, + "apiRequestsPerHourByHost": { + "github.com": 157.5 + }, + "firstHour": 219, + "perHourCounts": [ + 219, + 96 + ], + "lastHourByKind": { + "graphql:sidebar": 75, + "rest:pulls-by-head": 16, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 9, + "first15min": 62, + "steadyPerHour": 144.6, + "steadyPerMinute": 2.41, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 9, + "worstPeakToMean15min": 10, + "timelinePerMinute": [ + 12, + 8, + 4, + 0, + 0, + 8, + 7, + 4, + 1, + 0, + 7, + 7, + 3, + 0, + 1, + 6, + 8, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 6, + 3, + 0, + 1, + 7, + 9, + 3, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 8, + 6, + 3, + 0, + 0, + 6, + 8, + 3, + 0, + 0, + 8, + 7, + 4, + 0, + 0, + 6, + 1, + 4, + 3, + 1, + 6, + 6, + 3, + 1, + 0, + 6, + 5, + 5, + 2, + 0, + 5, + 5, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 1, + 2, + 3, + 2, + 3, + 2, + 3, + 5, + 3, + 3, + 2, + 1, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 3, + 3, + 3, + 3, + 0 + ] + }, + "git": { + "total": 563 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 273, + "maxStartsPer5min": 20, + "maxStartsPer60s": 9, + "admits": { + "selected-own": 18, + "visible": 255 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 18, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 72 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 72 + }, + "peak60s": 3, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 255, + "overdueAtStartS": { + "p50": 435, + "p90": 800, + "max": 1005 + }, + "waitedSinceFirstRefusalS": { + "p50": 435, + "p90": 800, + "max": 1005 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 18, + "peak60s": 3, + "peak5min": 5 + }, + "budgeted": { + "starts": 273, + "peak60s": 9, + "peak5min": 20 + }, + "refusals": { + "selected": 1, + "visible": 724 + }, + "visibleIdentities": { + "seen": 53, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 9, + "medianGapS": 872, + "maxGapS": 1795 + }, + { + "identity": "pr:feat/other-0", + "starts": 9, + "medianGapS": 915, + "maxGapS": 1732 + } + ], + "cacheHits": 40, + "lastGoodServedOverBudget": 485, + "deferredCold": 240, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3228, + "rpcSimulatedMs": { + "p50": 0, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 44, + "p50": 640, + "max": 930 + }, + "2": { + "admits": 196, + "p50": 390, + "max": 1005 + }, + "3": { + "admits": 33, + "p50": 72, + "max": 920 + } + }, + "clientRefreshCalls": 1093, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/cancel-hidden-n14-c2.json b/src/main/github/__experiments__/results/cancel-hidden-n14-c2.json new file mode 100644 index 00000000000..3663c87cea7 --- /dev/null +++ b/src/main/github/__experiments__/results/cancel-hidden-n14-c2.json @@ -0,0 +1,263 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 1, + "workload": "mixed", + "focus": "hidden", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 3600, + "gh": { + "spawns": 5, + "perHour": 5, + "byKind": { + "graphql:sidebar": 3, + "graphql:merge-metadata": 2 + }, + "apiRequestsByHost": { + "github.com": 5 + }, + "apiRequestsPerHourByHost": { + "github.com": 5 + }, + "firstHour": 5, + "perHourCounts": [ + 5 + ], + "lastHourByKind": { + "graphql:sidebar": 3, + "graphql:merge-metadata": 2 + }, + "lastHourRollingPeak60s": 5, + "first15min": 5, + "steadyPerHour": 0, + "steadyPerMinute": 0, + "rollingPeak60s": 5, + "rollingPeak60sSteady": 0, + "worstPeakToMean15min": 0, + "timelinePerMinute": [ + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 6 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 3, + "maxStartsPer5min": 3, + "maxStartsPer60s": 3, + "admits": { + "selected-own": 1, + "visible": 2 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 1, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 1 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 2, + "overdueAtStartS": { + "p50": 25, + "p90": 25, + "max": 25 + }, + "waitedSinceFirstRefusalS": { + "p50": 25, + "p90": 25, + "max": 25 + }, + "peak60s": 2, + "peak5min": 2 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 1, + "peak60s": 1, + "peak5min": 1 + }, + "budgeted": { + "starts": 3, + "peak60s": 3, + "peak5min": 3 + }, + "refusals": { + "selected": 0, + "visible": 1 + }, + "visibleIdentities": { + "seen": 2, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 25 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 1, + "medianGapS": 0, + "maxGapS": 0 + } + ], + "cacheHits": 2, + "lastGoodServedOverBudget": 0, + "deferredCold": 1, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 1800, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 2, + "p50": 0, + "max": 0 + }, + "2": { + "admits": 1, + "p50": 25, + "max": 25 + } + }, + "clientRefreshCalls": 6, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-desk-after-n10-j0.json b/src/main/github/__experiments__/results/detect-desk-after-n10-j0.json new file mode 100644 index 00000000000..78bfdb3a875 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-desk-after-n10-j0.json @@ -0,0 +1,1566 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 2327, + "perHour": 97, + "byKind": { + "auth:status": 272, + "pr:view": 641, + "graphql:checks": 641, + "graphql:merge-metadata": 106, + "rest:pull": 613, + "rest:pulls-by-head": 54 + }, + "apiRequestsByHost": { + "ghe.example.com": 2327 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 97 + }, + "firstHour": 140, + "perHourCounts": [ + 140, + 92, + 40, + 117, + 72, + 72, + 110, + 87, + 117, + 127, + 91, + 99, + 125, + 133, + 90, + 120, + 60, + 82, + 87, + 123, + 121, + 55, + 93, + 74 + ], + "lastHourByKind": { + "auth:status": 9, + "pr:view": 20, + "graphql:checks": 20, + "graphql:merge-metadata": 4, + "rest:pull": 19, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 17, + "first15min": 94, + "steadyPerHour": 94, + "steadyPerMinute": 1.57, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 21, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 12, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 13, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 12, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 3, + 4, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 21, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 14, + 6, + 3, + 6, + 3, + 6, + 3, + 6, + 3, + 4, + 3, + 6, + 3, + 3, + 4, + 0, + 3, + 0, + 0, + 5, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 5, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 5, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 0, + 7, + 12, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 5, + 0, + 3, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 4, + 4, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 0, + 2, + 4, + 4, + 0, + 3, + 3, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 6, + 0, + 3, + 4, + 16, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 7, + 0, + 7, + 0, + 7, + 0, + 6, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 8, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 3, + 7, + 3, + 6, + 3, + 6, + 3, + 6, + 1, + 6, + 0, + 6, + 0, + 3, + 0, + 7, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 6, + 0, + 0, + 0, + 0, + 3, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 0, + 7, + 4, + 6, + 0, + 6, + 0, + 4, + 2, + 6, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 9, + 0, + 3, + 0, + 3, + 0, + 4, + 12, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 3, + 5, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 0, + 1, + 3, + 0, + 4, + 0, + 7, + 16, + 3, + 0, + 0, + 3, + 0, + 3, + 3, + 3, + 0, + 8, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 0, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 4, + 3, + 3, + 3, + 3, + 3, + 4, + 19, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 4, + 8, + 3, + 3, + 3, + 3, + 0, + 3, + 0, + 0, + 0, + 8, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 7, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 0, + 0, + 1, + 3, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 4, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 4, + 3, + 0, + 7, + 0, + 3, + 0, + 6, + 0, + 3, + 0, + 4, + 2, + 3, + 0, + 7, + 0, + 3, + 0, + 4, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 16, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 7, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 4, + 16, + 3, + 3, + 5, + 6, + 0, + 6, + 3, + 7, + 3, + 6, + 3, + 6, + 3, + 7, + 0, + 6, + 0, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 3, + 3, + 3, + 3, + 3, + 0, + 3, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 12, + 4, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 3, + 0, + 3, + 0, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 2, + 0, + 3, + 0, + 0, + 0, + 4, + 3, + 4, + 3, + 7, + 3, + 3, + 3, + 3, + 3, + 15, + 7, + 4, + 3, + 3, + 0, + 4, + 3, + 3, + 3, + 7, + 0, + 3, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 3, + 3, + 7, + 3, + 3, + 6, + 4, + 3, + 3, + 6, + 3, + 3, + 4, + 3, + 0, + 3, + 3, + 4, + 0, + 4, + 0, + 3, + 0, + 0, + 3, + 3, + 0, + 0, + 5, + 0, + 2, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 7, + 3, + 0, + 3, + 3, + 4, + 3, + 7, + 3, + 5, + 4, + 3, + 3, + 3, + 3, + 3, + 0, + 3, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 8, + 8, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 11, + 12, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 3, + 0, + 4, + 3, + 0, + 3, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 8, + 3, + 7, + 3, + 6, + 3, + 0, + 3, + 3, + 0, + 0, + 3, + 0 + ] + }, + "git": { + "total": 2694 + }, + "serve": null, + "detection": { + "events": 97, + "startSelected": { + "samples": 15, + "p50": 700, + "p90": 1191, + "max": 1455 + }, + "startVisible": { + "samples": 15, + "p50": 641, + "p90": 1375, + "max": 1446 + }, + "finishSelected": { + "samples": 16, + "p50": 27, + "p90": 58, + "max": 62 + }, + "finishVisible": { + "samples": 32, + "p50": 306, + "p90": 1847, + "max": 2304 + }, + "undetected": 18 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-desk-after-n10.json b/src/main/github/__experiments__/results/detect-desk-after-n10.json new file mode 100644 index 00000000000..b7761c81a1f --- /dev/null +++ b/src/main/github/__experiments__/results/detect-desk-after-n10.json @@ -0,0 +1,1566 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 2659, + "perHour": 110.8, + "byKind": { + "auth:status": 285, + "pr:view": 751, + "graphql:checks": 751, + "graphql:merge-metadata": 105, + "rest:pull": 710, + "rest:pulls-by-head": 57 + }, + "apiRequestsByHost": { + "ghe.example.com": 2659 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 110.8 + }, + "firstHour": 160, + "perHourCounts": [ + 160, + 71, + 61, + 137, + 113, + 49, + 100, + 73, + 136, + 143, + 103, + 106, + 132, + 174, + 90, + 87, + 86, + 127, + 106, + 101, + 152, + 115, + 127, + 110 + ], + "lastHourByKind": { + "auth:status": 12, + "pr:view": 31, + "graphql:checks": 31, + "rest:pull": 30, + "graphql:merge-metadata": 4, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 11, + "first15min": 100, + "steadyPerHour": 107.7, + "steadyPerMinute": 1.8, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 17, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 12, + 9, + 0, + 0, + 0, + 0, + 0, + 4, + 12, + 7, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 12, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 0, + 3, + 3, + 3, + 3, + 2, + 0, + 3, + 0, + 0, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 0, + 0, + 8, + 4, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 3, + 0, + 7, + 0, + 6, + 8, + 10, + 0, + 7, + 4, + 9, + 3, + 9, + 3, + 6, + 7, + 3, + 6, + 4, + 7, + 3, + 3, + 3, + 6, + 3, + 4, + 6, + 2, + 0, + 4, + 4, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 0, + 2, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 0, + 4, + 0, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 3, + 4, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 4, + 3, + 0, + 3, + 0, + 4, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 7, + 7, + 3, + 11, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 0, + 3, + 3, + 3, + 4, + 4, + 3, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 8, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 5, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 8, + 3, + 3, + 3, + 4, + 7, + 6, + 0, + 3, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 3, + 4, + 4, + 4, + 3, + 0, + 4, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 5, + 0, + 0, + 4, + 0, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 3, + 3, + 7, + 0, + 6, + 3, + 6, + 3, + 6, + 3, + 7, + 3, + 3, + 6, + 4, + 3, + 4, + 3, + 0, + 8, + 4, + 3, + 4, + 3, + 4, + 3, + 0, + 3, + 3, + 7, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 5, + 3, + 3, + 3, + 7, + 3, + 3, + 7, + 4, + 3, + 3, + 3, + 7, + 4, + 7, + 7, + 3, + 3, + 6, + 4, + 3, + 3, + 3, + 0, + 6, + 0, + 3, + 0, + 3, + 0, + 5, + 0, + 7, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 3, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 5, + 4, + 0, + 0, + 0, + 4, + 0, + 4, + 0, + 0, + 5, + 0, + 0, + 4, + 3, + 3, + 3, + 0, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 2, + 0, + 8, + 0, + 3, + 0, + 6, + 0, + 3, + 4, + 3, + 0, + 4, + 0, + 6, + 0, + 3, + 0, + 0, + 4, + 0, + 3, + 0, + 4, + 0, + 3, + 2, + 3, + 4, + 7, + 0, + 0, + 7, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 8, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 4, + 3, + 0, + 3, + 3, + 3, + 2, + 4, + 3, + 2, + 4, + 4, + 3, + 0, + 4, + 11, + 0, + 3, + 0, + 7, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 4, + 0, + 0, + 3, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 3, + 0, + 3, + 0, + 7, + 0, + 3, + 0, + 3, + 1, + 3, + 0, + 0, + 4, + 6, + 3, + 7, + 3, + 3, + 4, + 3, + 3, + 10, + 3, + 3, + 11, + 3, + 3, + 4, + 0, + 4, + 3, + 3, + 3, + 7, + 3, + 6, + 2, + 7, + 3, + 4, + 0, + 3, + 3, + 3, + 0, + 3, + 0, + 3, + 0, + 8, + 1, + 0, + 3, + 3, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 4, + 0, + 3, + 2, + 3, + 0, + 7, + 0, + 4, + 4, + 7, + 0, + 11, + 0, + 3, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 4, + 3, + 5, + 3, + 3, + 3, + 4, + 3, + 7, + 3, + 7, + 7, + 3, + 0, + 7, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 7, + 3, + 6, + 3, + 6, + 3, + 5, + 0, + 7, + 0, + 0, + 0, + 7, + 0, + 0, + 2, + 0, + 0, + 0, + 5, + 3, + 1, + 3, + 4, + 0, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 3, + 0, + 4, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 4, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 7, + 3, + 7, + 4, + 6, + 3, + 6, + 3, + 9, + 5, + 6, + 3, + 3, + 7, + 3, + 11, + 7, + 7, + 3, + 7, + 3, + 3, + 7, + 10, + 3, + 0, + 3, + 0, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 9, + 4, + 0, + 0, + 0, + 4, + 4, + 0, + 4, + 3, + 4, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 3, + 3, + 3, + 4, + 3, + 3, + 4, + 3, + 0, + 3, + 0, + 0, + 0, + 3, + 0, + 0, + 5, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 5, + 4, + 0, + 0, + 0, + 0, + 4, + 0, + 4, + 0, + 4, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 3, + 3, + 3, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 7, + 3, + 7, + 3, + 6, + 3, + 6, + 4, + 6, + 0, + 3, + 6, + 3, + 3, + 5, + 3, + 3, + 2, + 0, + 13, + 0, + 0, + 4, + 3, + 4, + 0, + 4, + 4, + 3, + 0, + 7, + 0, + 3, + 0, + 6, + 0, + 3, + 0, + 3, + 0, + 0, + 4, + 0, + 4, + 0, + 3, + 4, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 2, + 5, + 0, + 0, + 8, + 3, + 3, + 7, + 3, + 3, + 3, + 4, + 8, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 4, + 3, + 4, + 3, + 3, + 3, + 3, + 3, + 3, + 2, + 0, + 3, + 0, + 5, + 0, + 7, + 0, + 3, + 0, + 3, + 0, + 3, + 0, + 7, + 0, + 3, + 0, + 3, + 0, + 4, + 4, + 3, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 4, + 4, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 3, + 0, + 3, + 2, + 3, + 0, + 11, + 3, + 11, + 3, + 3, + 6, + 0, + 6, + 7, + 7, + 7, + 6, + 0, + 4, + 0, + 3, + 4, + 0 + ] + }, + "git": { + "total": 3139 + }, + "serve": null, + "detection": { + "events": 97, + "startSelected": { + "samples": 16, + "p50": 725, + "p90": 1003, + "max": 1182 + }, + "startVisible": { + "samples": 18, + "p50": 484, + "p90": 1165, + "max": 1341 + }, + "finishSelected": { + "samples": 16, + "p50": 47, + "p90": 60, + "max": 62 + }, + "finishVisible": { + "samples": 32, + "p50": 118, + "p90": 1779, + "max": 1945 + }, + "undetected": 14 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-desk-before-n10.json b/src/main/github/__experiments__/results/detect-desk-before-n10.json new file mode 100644 index 00000000000..8373041d864 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-desk-before-n10.json @@ -0,0 +1,1566 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 17348, + "perHour": 722.8, + "byKind": { + "auth:status": 706, + "pr:view": 5468, + "graphql:checks": 5468, + "graphql:merge-metadata": 142, + "rest:pull": 4784, + "rest:pulls-by-head": 780 + }, + "apiRequestsByHost": { + "ghe.example.com": 17348 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 722.8 + }, + "firstHour": 728, + "perHourCounts": [ + 728, + 723, + 717, + 717, + 714, + 722, + 724, + 722, + 722, + 711, + 725, + 723, + 726, + 720, + 729, + 725, + 726, + 726, + 720, + 729, + 722, + 728, + 727, + 722 + ], + "lastHourByKind": { + "auth:status": 28, + "pr:view": 228, + "graphql:checks": 228, + "rest:pull": 200, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 32 + }, + "lastHourRollingPeak60s": 18, + "first15min": 190, + "steadyPerHour": 722.4, + "steadyPerMinute": 12.04, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 22, + "worstPeakToMean15min": 1.69, + "timelinePerMinute": [ + 25, + 17, + 12, + 12, + 3, + 18, + 6, + 15, + 9, + 12, + 13, + 12, + 12, + 9, + 15, + 10, + 18, + 11, + 12, + 12, + 10, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 9, + 15, + 10, + 15, + 6, + 19, + 11, + 15, + 9, + 9, + 15, + 9, + 15, + 7, + 15, + 9, + 15, + 9, + 12, + 15, + 9, + 17, + 11, + 15, + 9, + 15, + 9, + 15, + 6, + 15, + 9, + 12, + 9, + 16, + 11, + 13, + 12, + 9, + 17, + 11, + 14, + 12, + 12, + 10, + 15, + 9, + 12, + 9, + 15, + 8, + 12, + 13, + 12, + 13, + 9, + 17, + 11, + 17, + 9, + 12, + 12, + 12, + 9, + 16, + 11, + 12, + 6, + 16, + 9, + 15, + 9, + 9, + 17, + 12, + 14, + 9, + 15, + 9, + 15, + 11, + 9, + 15, + 10, + 12, + 13, + 12, + 9, + 15, + 9, + 18, + 7, + 17, + 9, + 12, + 12, + 12, + 12, + 12, + 13, + 9, + 15, + 9, + 12, + 12, + 13, + 9, + 18, + 11, + 13, + 11, + 12, + 9, + 12, + 12, + 14, + 12, + 12, + 12, + 9, + 15, + 9, + 15, + 9, + 15, + 10, + 17, + 6, + 18, + 6, + 16, + 9, + 12, + 12, + 12, + 12, + 10, + 15, + 9, + 13, + 10, + 15, + 11, + 16, + 9, + 12, + 14, + 12, + 12, + 12, + 12, + 9, + 15, + 9, + 12, + 8, + 16, + 9, + 18, + 8, + 16, + 9, + 16, + 9, + 12, + 12, + 13, + 12, + 12, + 12, + 9, + 14, + 9, + 12, + 9, + 18, + 8, + 17, + 10, + 15, + 9, + 12, + 12, + 12, + 12, + 9, + 14, + 10, + 15, + 6, + 15, + 9, + 15, + 11, + 17, + 9, + 15, + 10, + 12, + 12, + 12, + 14, + 9, + 12, + 6, + 15, + 9, + 16, + 9, + 17, + 14, + 12, + 12, + 9, + 15, + 9, + 14, + 10, + 12, + 9, + 15, + 9, + 12, + 12, + 12, + 14, + 15, + 15, + 9, + 15, + 9, + 14, + 6, + 12, + 12, + 12, + 12, + 13, + 12, + 9, + 13, + 13, + 13, + 11, + 17, + 6, + 14, + 13, + 12, + 12, + 9, + 15, + 9, + 15, + 9, + 12, + 13, + 13, + 10, + 17, + 7, + 16, + 9, + 15, + 9, + 12, + 12, + 10, + 15, + 9, + 12, + 9, + 16, + 9, + 15, + 10, + 15, + 17, + 9, + 15, + 6, + 12, + 12, + 12, + 12, + 12, + 9, + 17, + 9, + 12, + 12, + 13, + 16, + 7, + 14, + 12, + 12, + 12, + 13, + 9, + 15, + 9, + 13, + 12, + 12, + 12, + 9, + 14, + 14, + 11, + 14, + 13, + 12, + 12, + 12, + 12, + 12, + 9, + 14, + 12, + 12, + 12, + 11, + 12, + 12, + 14, + 14, + 10, + 14, + 12, + 12, + 9, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 13, + 14, + 14, + 9, + 12, + 12, + 13, + 10, + 12, + 12, + 9, + 14, + 12, + 12, + 12, + 9, + 13, + 14, + 14, + 14, + 12, + 12, + 12, + 13, + 9, + 12, + 14, + 13, + 9, + 12, + 12, + 9, + 12, + 13, + 14, + 14, + 13, + 13, + 12, + 13, + 12, + 11, + 12, + 9, + 15, + 9, + 12, + 13, + 12, + 9, + 13, + 14, + 11, + 13, + 12, + 13, + 14, + 10, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 12, + 15, + 11, + 13, + 14, + 11, + 12, + 12, + 12, + 12, + 12, + 9, + 13, + 12, + 12, + 12, + 12, + 13, + 10, + 14, + 13, + 13, + 10, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 16, + 6, + 16, + 8, + 20, + 10, + 12, + 9, + 12, + 12, + 13, + 12, + 12, + 12, + 9, + 15, + 9, + 15, + 9, + 11, + 16, + 15, + 10, + 12, + 9, + 15, + 9, + 15, + 9, + 12, + 12, + 13, + 12, + 9, + 14, + 9, + 17, + 10, + 15, + 7, + 15, + 9, + 16, + 9, + 12, + 12, + 12, + 12, + 12, + 11, + 12, + 12, + 11, + 16, + 10, + 15, + 10, + 15, + 6, + 15, + 9, + 15, + 10, + 12, + 14, + 9, + 15, + 9, + 13, + 12, + 13, + 10, + 19, + 7, + 15, + 9, + 12, + 9, + 15, + 11, + 12, + 12, + 10, + 15, + 10, + 15, + 9, + 13, + 11, + 17, + 10, + 12, + 10, + 15, + 8, + 15, + 9, + 12, + 12, + 12, + 13, + 9, + 16, + 9, + 16, + 8, + 17, + 10, + 15, + 8, + 12, + 9, + 16, + 9, + 12, + 12, + 13, + 12, + 12, + 12, + 9, + 16, + 7, + 19, + 9, + 15, + 6, + 15, + 9, + 15, + 9, + 12, + 13, + 13, + 12, + 9, + 15, + 9, + 16, + 11, + 13, + 10, + 12, + 13, + 12, + 12, + 12, + 9, + 16, + 9, + 15, + 9, + 12, + 13, + 12, + 12, + 14, + 14, + 13, + 9, + 12, + 12, + 9, + 13, + 13, + 12, + 12, + 12, + 12, + 12, + 11, + 12, + 13, + 16, + 14, + 12, + 12, + 9, + 12, + 13, + 9, + 12, + 12, + 12, + 10, + 14, + 12, + 12, + 9, + 13, + 15, + 14, + 12, + 12, + 13, + 13, + 12, + 12, + 9, + 12, + 14, + 9, + 12, + 12, + 13, + 9, + 14, + 15, + 13, + 12, + 12, + 13, + 12, + 12, + 10, + 14, + 12, + 9, + 15, + 9, + 12, + 12, + 13, + 10, + 16, + 10, + 12, + 13, + 12, + 12, + 11, + 12, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 13, + 12, + 13, + 14, + 12, + 10, + 14, + 12, + 9, + 12, + 12, + 12, + 12, + 12, + 9, + 15, + 10, + 13, + 15, + 15, + 12, + 11, + 12, + 12, + 12, + 12, + 10, + 12, + 12, + 9, + 12, + 12, + 12, + 12, + 14, + 16, + 14, + 11, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 12, + 13, + 9, + 12, + 12, + 13, + 11, + 17, + 13, + 12, + 9, + 13, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 14, + 15, + 14, + 11, + 13, + 12, + 9, + 12, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 9, + 15, + 12, + 13, + 15, + 11, + 13, + 12, + 12, + 9, + 12, + 12, + 9, + 12, + 12, + 12, + 15, + 10, + 12, + 12, + 13, + 15, + 14, + 12, + 12, + 12, + 13, + 9, + 12, + 12, + 9, + 14, + 13, + 9, + 12, + 12, + 13, + 14, + 15, + 13, + 12, + 12, + 9, + 12, + 12, + 12, + 9, + 15, + 10, + 15, + 9, + 12, + 9, + 12, + 14, + 15, + 14, + 12, + 12, + 12, + 12, + 10, + 13, + 12, + 13, + 9, + 13, + 12, + 9, + 12, + 12, + 14, + 12, + 13, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 9, + 12, + 14, + 11, + 14, + 13, + 9, + 14, + 12, + 12, + 12, + 10, + 13, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 15, + 11, + 15, + 12, + 9, + 12, + 13, + 12, + 9, + 12, + 12, + 12, + 13, + 12, + 12, + 12, + 14, + 13, + 14, + 12, + 12, + 12, + 10, + 13, + 12, + 12, + 9, + 12, + 12, + 9, + 12, + 12, + 14, + 15, + 12, + 13, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 13, + 9, + 12, + 12, + 11, + 12, + 12, + 11, + 15, + 13, + 13, + 13, + 12, + 12, + 12, + 12, + 9, + 12, + 12, + 11, + 16, + 9, + 12, + 13, + 14, + 11, + 14, + 12, + 12, + 9, + 13, + 12, + 12, + 12, + 11, + 12, + 12, + 12, + 12, + 12, + 14, + 15, + 15, + 12, + 9, + 12, + 12, + 9, + 12, + 14, + 9, + 13, + 12, + 12, + 12, + 12, + 12, + 11, + 16, + 13, + 12, + 13, + 12, + 12, + 11, + 12, + 12, + 12, + 9, + 12, + 12, + 13, + 9, + 12, + 15, + 15, + 13, + 12, + 12, + 12, + 11, + 13, + 12, + 12, + 12, + 12, + 9, + 12, + 12, + 10, + 12, + 15, + 15, + 10, + 12, + 14, + 12, + 9, + 12, + 12, + 12, + 13, + 12, + 12, + 12, + 13, + 12, + 10, + 14, + 14, + 15, + 10, + 12, + 12, + 9, + 12, + 12, + 12, + 12, + 12, + 12, + 14, + 12, + 12, + 10, + 17, + 14, + 9, + 12, + 12, + 12, + 13, + 9, + 12, + 12, + 9, + 12, + 13, + 12, + 12, + 11, + 13, + 16, + 14, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 12, + 14, + 9, + 12, + 14, + 12, + 9, + 14, + 15, + 13, + 12, + 13, + 12, + 12, + 9, + 12, + 12, + 13, + 12, + 11, + 12, + 10, + 15, + 9, + 14, + 15, + 13, + 9, + 12, + 12, + 12, + 13, + 12, + 13, + 11, + 12, + 12, + 12, + 12, + 12, + 13, + 13, + 13, + 13, + 12, + 9, + 12, + 12, + 13, + 11, + 12, + 13, + 12, + 9, + 12, + 12, + 12, + 13, + 15, + 14, + 12, + 12, + 13, + 9, + 13, + 14, + 12, + 9, + 12, + 12, + 9, + 12, + 13, + 12, + 14, + 15, + 13, + 12, + 12, + 12, + 12, + 12, + 13, + 12, + 9, + 12, + 12, + 12, + 9, + 12, + 9, + 14, + 16, + 13, + 12, + 11, + 13, + 12, + 12, + 12, + 12, + 12, + 13, + 12, + 12, + 9, + 12, + 13, + 14, + 11, + 15, + 13, + 10, + 12, + 12, + 12, + 12, + 12, + 9, + 12, + 12, + 12, + 13, + 12, + 13, + 13, + 14, + 14, + 12, + 12, + 9, + 12, + 13, + 9, + 12, + 12, + 12, + 12, + 12, + 12, + 11, + 13, + 15, + 16, + 12, + 12, + 12, + 12, + 9, + 12, + 12, + 9, + 12, + 13, + 9, + 14, + 12, + 12, + 14, + 13, + 13, + 12, + 12, + 13, + 12, + 12, + 12, + 12, + 12, + 9, + 11, + 15, + 9, + 13, + 13, + 14, + 12, + 13, + 12, + 12, + 12, + 12, + 12, + 13, + 12, + 11, + 12, + 12, + 12, + 12, + 10, + 13, + 14, + 15, + 10, + 12, + 12, + 9, + 12, + 12, + 14, + 12, + 9, + 12, + 13, + 12, + 13, + 12, + 13, + 15, + 14, + 12, + 9, + 12, + 13, + 9, + 14, + 12, + 12, + 9, + 12, + 12, + 13, + 12, + 13, + 14, + 15, + 13, + 9, + 12, + 12, + 11, + 12, + 12, + 13, + 12, + 12, + 10, + 12, + 12, + 9, + 12, + 14, + 15, + 14, + 12, + 11, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 13, + 9, + 12, + 12, + 13, + 10, + 15, + 15, + 9, + 12, + 13, + 12, + 12, + 9, + 12, + 13, + 12, + 12, + 12, + 12, + 13, + 13, + 13, + 14, + 13, + 12, + 9, + 12, + 12, + 9, + 12, + 14, + 12, + 12, + 12, + 12, + 12, + 11, + 13, + 15, + 14, + 13, + 12, + 12, + 9, + 12, + 13, + 9, + 12, + 12, + 12, + 10, + 14, + 12, + 12, + 14, + 11, + 14, + 12, + 12, + 12, + 13, + 13, + 12, + 12, + 9, + 12, + 11, + 12, + 12, + 12, + 13, + 11, + 15, + 13, + 12, + 12, + 12, + 13, + 12, + 12, + 13, + 11, + 12, + 12, + 9, + 12, + 12, + 13, + 14, + 11, + 14, + 12, + 10, + 12, + 12, + 12, + 13, + 10, + 12 + ] + }, + "git": { + "total": 22352 + }, + "serve": null, + "detection": { + "events": 97, + "startSelected": { + "samples": 16, + "p50": 41, + "p90": 60, + "max": 62 + }, + "startVisible": { + "samples": 33, + "p50": 43, + "p90": 107, + "max": 115 + }, + "finishSelected": { + "samples": 16, + "p50": 36, + "p90": 55, + "max": 57 + }, + "finishVisible": { + "samples": 32, + "p50": 68, + "p90": 114, + "max": 126 + }, + "undetected": 0 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-serve-after-n14-c2-j0.json b/src/main/github/__experiments__/results/detect-serve-after-n14-c2-j0.json new file mode 100644 index 00000000000..93062dc9d7d --- /dev/null +++ b/src/main/github/__experiments__/results/detect-serve-after-n14-c2-j0.json @@ -0,0 +1,1690 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 909, + "perHour": 37.9, + "byKind": { + "graphql:sidebar": 745, + "graphql:merge-metadata": 110, + "rest:pulls-by-head": 54 + }, + "apiRequestsByHost": { + "github.com": 909 + }, + "apiRequestsPerHourByHost": { + "github.com": 37.9 + }, + "firstHour": 66, + "perHourCounts": [ + 66, + 39, + 16, + 42, + 29, + 28, + 42, + 32, + 45, + 48, + 34, + 38, + 46, + 51, + 32, + 32, + 25, + 35, + 40, + 53, + 46, + 23, + 36, + 31 + ], + "lastHourByKind": { + "graphql:sidebar": 24, + "graphql:merge-metadata": 5, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 5, + "first15min": 43, + "steadyPerHour": 36.5, + "steadyPerMinute": 0.61, + "rollingPeak60s": 11, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 10, + 7, + 3, + 1, + 0, + 7, + 3, + 1, + 0, + 6, + 3, + 0, + 0, + 0, + 2, + 1, + 0, + 6, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 5, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 4, + 4, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 3, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 0, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 5, + 4, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 0, + 3, + 0, + 0, + 3, + 4, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 3, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 3, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 2, + 0, + 3, + 0, + 1, + 3, + 4, + 0, + 1, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 3, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 4, + 3, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 0, + 2, + 0, + 2, + 0, + 3, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 3, + 0, + 1, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 4, + 3, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 3, + 1, + 0, + 4, + 3, + 1, + 0, + 2, + 0, + 1, + 2, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 4, + 1, + 1, + 4, + 4, + 1, + 1, + 1, + 1, + 1, + 3, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 3, + 4, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 1, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 3, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 3, + 4, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 2, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 2, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 4, + 2, + 2, + 3, + 4, + 3, + 2, + 1, + 1, + 1, + 2, + 1, + 2, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 4, + 2, + 1, + 0, + 1, + 0, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 1, + 1, + 1, + 0, + 1, + 2, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 5, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 3, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 0, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 3, + 1, + 1, + 5, + 3, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 3, + 2, + 2, + 1, + 2, + 1, + 1, + 1, + 0, + 0, + 1, + 2, + 0 + ] + }, + "git": { + "total": 1568 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 771, + "maxStartsPer5min": 18, + "maxStartsPer60s": 7, + "admits": { + "selected-own": 321, + "visible": 450 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 86400, + "lanes": { + "selected-own": { + "starts": 321, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 450, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 178 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 178 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 321, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 771, + "peak60s": 7, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 135 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 321, + "medianGapS": 60, + "maxGapS": 1801 + } + ], + "cacheHits": 6, + "lastGoodServedOverBudget": 98, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 771, + "p50": 0, + "max": 178 + } + }, + "clientRefreshCalls": 1677, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 97, + "startSelected": { + "samples": 32, + "p50": 909, + "p90": 1316, + "max": 1456 + }, + "startVisible": { + "samples": 30, + "p50": 584, + "p90": 1446, + "max": 1527 + }, + "finishSelected": { + "samples": 32, + "p50": 18, + "p90": 41, + "max": 51 + }, + "finishVisible": { + "samples": 64, + "p50": 217, + "p90": 2085, + "max": 2291 + }, + "undetected": 17 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-serve-after-n14-c2-seed2.json b/src/main/github/__experiments__/results/detect-serve-after-n14-c2-seed2.json new file mode 100644 index 00000000000..d412d8dedb5 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-serve-after-n14-c2-seed2.json @@ -0,0 +1,1691 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 2, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 878, + "perHour": 36.6, + "byKind": { + "graphql:sidebar": 713, + "graphql:merge-metadata": 108, + "rest:pulls-by-head": 57 + }, + "apiRequestsByHost": { + "github.com": 878 + }, + "apiRequestsPerHourByHost": { + "github.com": 36.6 + }, + "firstHour": 71, + "perHourCounts": [ + 71, + 61, + 34, + 20, + 45, + 21, + 36, + 44, + 49, + 30, + 17, + 31, + 38, + 23, + 24, + 51, + 38, + 26, + 49, + 49, + 21, + 46, + 25, + 29 + ], + "lastHourByKind": { + "graphql:sidebar": 23, + "graphql:merge-metadata": 4, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 2, + "first15min": 44, + "steadyPerHour": 35.1, + "steadyPerMinute": 0.59, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 0, + 3, + 4, + 2, + 0, + 0, + 2, + 1, + 0, + 3, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 3, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 4, + 1, + 4, + 2, + 4, + 3, + 4, + 1, + 3, + 1, + 3, + 0, + 3, + 1, + 3, + 1, + 1, + 2, + 2, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 3, + 1, + 1, + 1, + 2, + 1, + 2, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 1, + 2, + 1, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 2, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 0, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 0, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 1, + 3, + 1, + 3, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 2, + 0, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 2, + 3, + 1, + 1, + 0, + 3, + 0, + 1, + 4, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 3, + 0, + 2, + 0, + 4, + 0, + 3, + 1, + 2, + 0, + 3, + 0, + 2, + 0, + 2, + 0, + 2, + 0, + 2, + 0, + 4, + 1, + 3, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 3, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 1, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 0, + 2, + 1, + 3, + 1, + 3, + 1, + 4, + 1, + 3, + 1, + 3, + 0, + 2, + 0, + 2, + 0, + 3, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 2, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 4, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 3, + 3, + 2, + 2, + 2, + 2, + 2, + 3, + 0, + 2, + 2, + 1, + 0, + 3, + 0, + 1, + 3, + 1, + 0, + 2, + 2, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 3, + 2, + 1, + 1, + 2, + 2, + 1, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 3, + 2, + 2, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 4, + 1, + 2, + 2, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 2, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 3, + 0, + 2, + 0, + 1, + 0, + 3, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 3, + 0, + 2, + 1, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 3, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 3, + 1, + 0, + 1, + 2, + 2, + 2, + 3, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 2 + ] + }, + "git": { + "total": 1507 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 740, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 240, + "visible": 496, + "selected-borrowed": 4 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 86400, + "lanes": { + "selected-own": { + "starts": 240, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 4, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 1 + }, + "visible": { + "starts": 496, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 244, + "peak60s": 2, + "peak5min": 6 + }, + "budgeted": { + "starts": 740, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 2, + "visible": 169 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 244, + "medianGapS": 60, + "maxGapS": 1794 + } + ], + "cacheHits": 6, + "lastGoodServedOverBudget": 134, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2394, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 740, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 1651, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 93, + "startSelected": { + "samples": 26, + "p50": 870, + "p90": 1492, + "max": 1619 + }, + "startVisible": { + "samples": 34, + "p50": 456, + "p90": 860, + "max": 1260 + }, + "finishSelected": { + "samples": 30, + "p50": 25, + "p90": 54, + "max": 186 + }, + "finishVisible": { + "samples": 62, + "p50": 106, + "p90": 1480, + "max": 1834 + }, + "undetected": 17 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-serve-after-n14-c2.json b/src/main/github/__experiments__/results/detect-serve-after-n14-c2.json new file mode 100644 index 00000000000..2518e582966 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-serve-after-n14-c2.json @@ -0,0 +1,1691 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 1046, + "perHour": 43.6, + "byKind": { + "graphql:sidebar": 878, + "graphql:merge-metadata": 111, + "rest:pulls-by-head": 57 + }, + "apiRequestsByHost": { + "github.com": 1046 + }, + "apiRequestsPerHourByHost": { + "github.com": 43.6 + }, + "firstHour": 68, + "perHourCounts": [ + 68, + 49, + 23, + 49, + 31, + 37, + 44, + 37, + 51, + 51, + 44, + 42, + 48, + 65, + 19, + 34, + 45, + 34, + 38, + 48, + 52, + 39, + 62, + 36 + ], + "lastHourByKind": { + "rest:pulls-by-head": 3, + "graphql:sidebar": 28, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 4, + "first15min": 44, + "steadyPerHour": 42.2, + "steadyPerMinute": 0.7, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 0, + 3, + 4, + 2, + 0, + 0, + 2, + 1, + 0, + 3, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 3, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 1, + 3, + 2, + 2, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 3, + 1, + 2, + 1, + 2, + 2, + 0, + 1, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 2, + 1, + 0, + 3, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 2, + 2, + 3, + 1, + 2, + 2, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 2, + 1, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 2, + 1, + 4, + 1, + 1, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 2, + 1, + 4, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 1, + 1, + 1, + 3, + 4, + 1, + 1, + 2, + 0, + 2, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 3, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 2, + 2, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 1, + 0, + 2, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 1, + 1, + 1, + 1, + 3, + 1, + 2, + 2, + 1, + 1, + 2, + 1, + 2, + 2, + 1, + 1, + 1, + 0, + 2, + 1, + 1, + 2, + 1, + 1, + 3, + 2, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 3, + 3, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 3, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 4, + 0, + 1, + 1, + 1, + 0, + 3, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 0, + 3, + 0, + 1, + 1, + 3, + 1, + 0, + 1, + 1, + 1, + 0, + 2, + 2, + 1, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 2, + 1, + 1, + 1, + 2, + 2, + 2, + 3, + 1, + 0, + 1, + 3, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 4, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 2, + 0, + 2, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 2, + 2, + 1, + 0, + 1, + 0, + 0, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 2, + 0, + 3, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 3, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 2, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 3, + 3, + 4, + 1, + 2, + 4, + 1, + 2, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 3, + 1, + 1, + 1, + 0, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 3, + 1, + 1, + 1, + 1, + 1, + 1, + 3, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 2, + 2, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 3, + 1, + 2, + 0, + 3, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 6, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 2, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 3, + 2, + 2, + 2, + 1, + 1, + 2, + 1, + 2, + 3, + 2, + 1, + 2, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 2, + 2, + 1, + 0, + 1, + 1, + 1, + 1, + 2, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 2, + 4, + 1, + 1, + 1, + 0, + 2, + 1, + 0, + 0, + 1, + 2 + ] + }, + "git": { + "total": 1837 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 905, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 370, + "visible": 524, + "selected-borrowed": 11 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 86400, + "lanes": { + "selected-own": { + "starts": 370, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 11, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 1 + }, + "visible": { + "starts": 524, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 381, + "peak60s": 2, + "peak5min": 6 + }, + "budgeted": { + "starts": 905, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 161 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 381, + "medianGapS": 60, + "maxGapS": 1792 + } + ], + "cacheHits": 6, + "lastGoodServedOverBudget": 124, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 905, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 1971, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 97, + "startSelected": { + "samples": 32, + "p50": 603, + "p90": 1036, + "max": 1230 + }, + "startVisible": { + "samples": 38, + "p50": 505, + "p90": 1244, + "max": 1610 + }, + "finishSelected": { + "samples": 32, + "p50": 40, + "p90": 54, + "max": 57 + }, + "finishVisible": { + "samples": 62, + "p50": 108, + "p90": 1699, + "max": 1906 + }, + "undetected": 13 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-serve-before-n14-c2.json b/src/main/github/__experiments__/results/detect-serve-before-n14-c2.json new file mode 100644 index 00000000000..524d58e9fd0 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-serve-before-n14-c2.json @@ -0,0 +1,1590 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 9729, + "perHour": 405.4, + "byKind": { + "graphql:sidebar": 8440, + "graphql:merge-metadata": 309, + "rest:pulls-by-head": 980 + }, + "apiRequestsByHost": { + "github.com": 9729 + }, + "apiRequestsPerHourByHost": { + "github.com": 405.4 + }, + "firstHour": 719, + "perHourCounts": [ + 719, + 644, + 409, + 381, + 381, + 383, + 378, + 380, + 380, + 381, + 384, + 379, + 379, + 377, + 372, + 380, + 379, + 382, + 375, + 380, + 380, + 379, + 380, + 367 + ], + "lastHourByKind": { + "graphql:sidebar": 320, + "rest:pulls-by-head": 37, + "graphql:merge-metadata": 10 + }, + "lastHourRollingPeak60s": 14, + "first15min": 201, + "steadyPerHour": 401.2, + "steadyPerMinute": 6.69, + "rollingPeak60s": 32, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 2.36, + "timelinePerMinute": [ + 32, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 23, + 2, + 22, + 2, + 22, + 4, + 22, + 2, + 22, + 2, + 25, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 25, + 2, + 22, + 2, + 22, + 1, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 3, + 21, + 1, + 21, + 1, + 22, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 24, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 3, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 0, + 20, + 2, + 19, + 3, + 23, + 3, + 19, + 3, + 19, + 3, + 19, + 3, + 19, + 3, + 21, + 3, + 19, + 3, + 19, + 5, + 19, + 3, + 16, + 3, + 14, + 5, + 11, + 5, + 11, + 5, + 10, + 5, + 10, + 5, + 14, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 11, + 5, + 9, + 5, + 9, + 7, + 9, + 5, + 9, + 5, + 10, + 5, + 9, + 5, + 9, + 5, + 9, + 3, + 9, + 3, + 14, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 8, + 4, + 8, + 7, + 4, + 8, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 10, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 9, + 3, + 9, + 3, + 9, + 5, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 2, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 4, + 6, + 6, + 6, + 8, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 2, + 9, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 4, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 4, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 1, + 14, + 1, + 11, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 2, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 0, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 9, + 3, + 11, + 4, + 7, + 5, + 8, + 6, + 4, + 8, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 2, + 12, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 3, + 11, + 1, + 11, + 0, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 3, + 11, + 1, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 2, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 8, + 4, + 8, + 4, + 8, + 4, + 10, + 4, + 6, + 8, + 5, + 7, + 5, + 7, + 4, + 8, + 4, + 10, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 13, + 1, + 10, + 2, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 2, + 9, + 3, + 9, + 3, + 9, + 5, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 10, + 1, + 13, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 2, + 6, + 6, + 6, + 6, + 6, + 8, + 4, + 8, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 5, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 5, + 9, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 10, + 1, + 13, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 2, + 11, + 1, + 11, + 3, + 9, + 3, + 8, + 4, + 5, + 7, + 5, + 7, + 4, + 9, + 4, + 10, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 10, + 1, + 11, + 1, + 11, + 1, + 13, + 3, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1 + ] + }, + "git": { + "total": 16150 + }, + "serve": { + "gate": "none", + "upstreamStarts": 15958, + "maxStartsPer5min": 72, + "maxStartsPer60s": 28, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4000, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1400, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 15958, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 97, + "startSelected": { + "samples": 32, + "p50": 31, + "p90": 45, + "max": 56 + }, + "startVisible": { + "samples": 66, + "p50": 52, + "p90": 110, + "max": 120 + }, + "finishSelected": { + "samples": 32, + "p50": 34, + "p90": 56, + "max": 59 + }, + "finishVisible": { + "samples": 64, + "p50": 62, + "p90": 107, + "max": 119 + }, + "undetected": 0 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/detect-serve-oldclient-n14-c2.json b/src/main/github/__experiments__/results/detect-serve-oldclient-n14-c2.json new file mode 100644 index 00000000000..e875eca21b6 --- /dev/null +++ b/src/main/github/__experiments__/results/detect-serve-oldclient-n14-c2.json @@ -0,0 +1,1674 @@ +{ + "config": { + "scenario": "serve-after-oldclient", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 24, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": true, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 3, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 86400, + "gh": { + "spawns": 9007, + "perHour": 375.3, + "byKind": { + "graphql:sidebar": 7889, + "graphql:merge-metadata": 307, + "rest:pulls-by-head": 811 + }, + "apiRequestsByHost": { + "github.com": 9007 + }, + "apiRequestsPerHourByHost": { + "github.com": 375.3 + }, + "firstHour": 378, + "perHourCounts": [ + 378, + 376, + 379, + 375, + 376, + 376, + 377, + 367, + 374, + 378, + 379, + 376, + 382, + 375, + 376, + 366, + 376, + 375, + 374, + 376, + 374, + 376, + 375, + 371 + ], + "lastHourByKind": { + "graphql:sidebar": 326, + "rest:pulls-by-head": 33, + "graphql:merge-metadata": 12 + }, + "lastHourRollingPeak60s": 14, + "first15min": 104, + "steadyPerHour": 374.9, + "steadyPerMinute": 6.25, + "rollingPeak60s": 18, + "rollingPeak60sSteady": 15, + "worstPeakToMean15min": 2.53, + "timelinePerMinute": [ + 18, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 15, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 10, + 2, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 13, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 8, + 4, + 8, + 4, + 7, + 6, + 4, + 8, + 4, + 9, + 4, + 8, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 0, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 12, + 1, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 11, + 3, + 9, + 2, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 12, + 3, + 9, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 9, + 3, + 8, + 5, + 5, + 7, + 5, + 7, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 8, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 2, + 10, + 1, + 12, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 0, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 10, + 2, + 11, + 3, + 5, + 7, + 3, + 9, + 2, + 10, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 0, + 11, + 1, + 14, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 4, + 9, + 3, + 9, + 3, + 8, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 8, + 4, + 8, + 5, + 7, + 7, + 4, + 8, + 3, + 9, + 2, + 10, + 1, + 11, + 1, + 13, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 12, + 1, + 11, + 1, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 10, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 4, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 10, + 3, + 9, + 3, + 9, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 10, + 2, + 10, + 2, + 10, + 4, + 7, + 6, + 5, + 7, + 4, + 8, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 10, + 4, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 10, + 3, + 9, + 3, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 11, + 4, + 9, + 3, + 9, + 3, + 9, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 10, + 1, + 11, + 1, + 13, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 2, + 10, + 2, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 5, + 7, + 5, + 6 + ] + }, + "git": { + "total": 16066 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 7985, + "maxStartsPer5min": 36, + "maxStartsPer60s": 14, + "admits": {}, + "lanes": { + "gate": "d3", + "simulatedSeconds": 86400, + "lanes": { + "selected-own": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "budgeted": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "refusals": { + "selected": 0, + "visible": 0 + }, + "visibleIdentities": { + "seen": 0, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 302, + "upstreamReads": 7985 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 15970, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": { + "events": 97, + "startSelected": { + "samples": 32, + "p50": 34, + "p90": 52, + "max": 58 + }, + "startVisible": { + "samples": 66, + "p50": 65, + "p90": 117, + "max": 120 + }, + "finishSelected": { + "samples": 32, + "p50": 19, + "p90": 49, + "max": 50 + }, + "finishVisible": { + "samples": 64, + "p50": 72, + "p90": 116, + "max": 119 + }, + "undetected": 0 + }, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/dotcom-desk-after-n10.json b/src/main/github/__experiments__/results/dotcom-desk-after-n10.json new file mode 100644 index 00000000000..36ff0a064b2 --- /dev/null +++ b/src/main/github/__experiments__/results/dotcom-desk-after-n10.json @@ -0,0 +1,315 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "dotcom", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 99, + "perHour": 24.8, + "byKind": { + "api:rate_limit": 4, + "graphql:sidebar": 69, + "graphql:merge-metadata": 11, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "github.com": 99 + }, + "apiRequestsPerHourByHost": { + "github.com": 24.8 + }, + "firstHour": 58, + "perHourCounts": [ + 58, + 14, + 13, + 14 + ], + "lastHourByKind": { + "api:rate_limit": 1, + "graphql:sidebar": 8, + "graphql:merge-metadata": 3, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 3, + "first15min": 38, + "steadyPerHour": 16.3, + "steadyPerMinute": 0.27, + "rollingPeak60s": 9, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 9, + 5, + 5, + 3, + 0, + 1, + 5, + 2, + 0, + 0, + 0, + 0, + 0, + 3, + 5, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 3, + 1, + 1, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 156 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/dotcom-desk-after-n50.json b/src/main/github/__experiments__/results/dotcom-desk-after-n50.json new file mode 100644 index 00000000000..c0ee8c342f3 --- /dev/null +++ b/src/main/github/__experiments__/results/dotcom-desk-after-n50.json @@ -0,0 +1,315 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "dotcom", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 381, + "perHour": 95.3, + "byKind": { + "api:rate_limit": 4, + "graphql:sidebar": 294, + "graphql:merge-metadata": 13, + "rest:pulls-by-head": 70 + }, + "apiRequestsByHost": { + "github.com": 381 + }, + "apiRequestsPerHourByHost": { + "github.com": 95.3 + }, + "firstHour": 232, + "perHourCounts": [ + 232, + 49, + 50, + 50 + ], + "lastHourByKind": { + "api:rate_limit": 1, + "graphql:sidebar": 36, + "graphql:merge-metadata": 3, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 8, + "first15min": 69, + "steadyPerHour": 83.2, + "steadyPerMinute": 1.39, + "rollingPeak60s": 9, + "rollingPeak60sSteady": 9, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 9, + 6, + 7, + 2, + 0, + 7, + 6, + 7, + 2, + 0, + 8, + 6, + 7, + 2, + 0, + 7, + 7, + 7, + 2, + 0, + 8, + 7, + 7, + 2, + 0, + 7, + 6, + 6, + 3, + 0, + 8, + 7, + 6, + 3, + 0, + 7, + 7, + 6, + 3, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 3, + 7, + 7, + 1, + 4, + 4, + 7, + 7, + 1, + 4, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 5, + 4, + 2, + 3, + 8, + 6, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 3, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 2, + 0, + 7, + 4, + 0, + 3, + 4, + 5, + 4, + 7, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 3, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 2, + 3, + 2, + 1, + 4, + 6, + 3, + 3, + 7, + 4, + 0, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 678 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/dotcom-desk-before-n10.json b/src/main/github/__experiments__/results/dotcom-desk-before-n10.json new file mode 100644 index 00000000000..0f2ed05d20c --- /dev/null +++ b/src/main/github/__experiments__/results/dotcom-desk-before-n10.json @@ -0,0 +1,315 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "dotcom", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1449, + "perHour": 362.3, + "byKind": { + "api:rate_limit": 364, + "graphql:sidebar": 929, + "graphql:merge-metadata": 24, + "rest:pulls-by-head": 132 + }, + "apiRequestsByHost": { + "github.com": 1449 + }, + "apiRequestsPerHourByHost": { + "github.com": 362.3 + }, + "firstHour": 362, + "perHourCounts": [ + 362, + 362, + 362, + 363 + ], + "lastHourByKind": { + "graphql:sidebar": 233, + "api:rate_limit": 91, + "rest:pulls-by-head": 33, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 9, + "first15min": 92, + "steadyPerHour": 361.9, + "steadyPerMinute": 6.03, + "rollingPeak60s": 10, + "rollingPeak60sSteady": 9, + "worstPeakToMean15min": 1.53, + "timelinePerMinute": [ + 10, + 7, + 7, + 6, + 1, + 9, + 3, + 8, + 4, + 7, + 6, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 5, + 6, + 7, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 4, + 8, + 4, + 8, + 5, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 5, + 8, + 4, + 8, + 4, + 7, + 5, + 6, + 6, + 6, + 6, + 8, + 5, + 6, + 6, + 6, + 7, + 5, + 7, + 4, + 7, + 6, + 7, + 5, + 6, + 5, + 7, + 5, + 8, + 4, + 7, + 5, + 8, + 5, + 7, + 6, + 4, + 8, + 4, + 7, + 4, + 8, + 5, + 8, + 4, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 6, + 7, + 5, + 7, + 5, + 6, + 7, + 6, + 5, + 5, + 8, + 5, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 4, + 7, + 7, + 7, + 4, + 6, + 6, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 6, + 6, + 7, + 5, + 7, + 6, + 7, + 6, + 6, + 5, + 5, + 7, + 5, + 7, + 5, + 7, + 4, + 9, + 5, + 7, + 4, + 7, + 5, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 7, + 5, + 7, + 5, + 7, + 6, + 7, + 6, + 6, + 6, + 6, + 5, + 5, + 7, + 5, + 7, + 6, + 7, + 5, + 7, + 5, + 7, + 5, + 7, + 4, + 8, + 5, + 7, + 5, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 7, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 5, + 6, + 7, + 7, + 6, + 5, + 7, + 5, + 7, + 5, + 7, + 5, + 8, + 4, + 8, + 4, + 8, + 4, + 7, + 7, + 5, + 6, + 6, + 7, + 6, + 6, + 6, + 6, + 6, + 6 + ] + }, + "git": { + "total": 1906 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/dotcom-desk-before-n50.json b/src/main/github/__experiments__/results/dotcom-desk-before-n50.json new file mode 100644 index 00000000000..4e220607579 --- /dev/null +++ b/src/main/github/__experiments__/results/dotcom-desk-before-n50.json @@ -0,0 +1,315 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "dotcom", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1447, + "perHour": 361.8, + "byKind": { + "api:rate_limit": 336, + "graphql:sidebar": 905, + "graphql:merge-metadata": 24, + "rest:pulls-by-head": 182 + }, + "apiRequestsByHost": { + "github.com": 1447 + }, + "apiRequestsPerHourByHost": { + "github.com": 361.8 + }, + "firstHour": 361, + "perHourCounts": [ + 361, + 362, + 362, + 362 + ], + "lastHourByKind": { + "api:rate_limit": 84, + "rest:pulls-by-head": 46, + "graphql:sidebar": 226, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 10, + "first15min": 89, + "steadyPerHour": 362.1, + "steadyPerMinute": 6.04, + "rollingPeak60s": 10, + "rollingPeak60sSteady": 10, + "worstPeakToMean15min": 1.72, + "timelinePerMinute": [ + 10, + 8, + 9, + 3, + 0, + 9, + 8, + 9, + 3, + 0, + 10, + 8, + 8, + 4, + 0, + 8, + 10, + 8, + 4, + 0, + 10, + 8, + 9, + 4, + 0, + 8, + 8, + 9, + 4, + 0, + 9, + 9, + 9, + 4, + 0, + 8, + 9, + 8, + 5, + 0, + 9, + 9, + 8, + 5, + 0, + 7, + 8, + 9, + 5, + 0, + 8, + 9, + 9, + 5, + 0, + 6, + 9, + 9, + 6, + 0, + 7, + 9, + 9, + 5, + 0, + 7, + 9, + 9, + 5, + 0, + 8, + 8, + 9, + 6, + 0, + 6, + 9, + 9, + 5, + 0, + 8, + 8, + 7, + 8, + 0, + 7, + 7, + 8, + 8, + 0, + 6, + 8, + 9, + 8, + 0, + 4, + 9, + 9, + 7, + 0, + 6, + 8, + 9, + 8, + 0, + 4, + 9, + 9, + 8, + 0, + 5, + 9, + 9, + 7, + 0, + 5, + 9, + 7, + 9, + 0, + 5, + 8, + 9, + 9, + 0, + 3, + 9, + 9, + 8, + 0, + 5, + 8, + 9, + 9, + 0, + 3, + 9, + 9, + 9, + 0, + 4, + 9, + 9, + 7, + 1, + 4, + 8, + 9, + 8, + 1, + 4, + 8, + 9, + 9, + 1, + 2, + 9, + 9, + 8, + 1, + 3, + 10, + 8, + 9, + 1, + 2, + 9, + 9, + 9, + 1, + 2, + 10, + 9, + 7, + 3, + 2, + 8, + 8, + 8, + 3, + 2, + 10, + 7, + 9, + 3, + 2, + 9, + 6, + 9, + 4, + 2, + 8, + 8, + 9, + 3, + 1, + 8, + 9, + 9, + 3, + 0, + 10, + 8, + 8, + 5, + 0, + 8, + 8, + 9, + 4, + 0, + 10, + 8, + 9, + 4, + 0, + 9, + 8, + 8, + 5, + 0, + 9, + 8, + 9, + 4, + 0, + 9, + 8, + 9, + 4, + 0, + 9, + 9, + 8, + 5, + 0, + 7, + 9, + 8, + 5 + ] + }, + "git": { + "total": 1975 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/gate-lanes.probe.json b/src/main/github/__experiments__/results/gate-lanes.probe.json new file mode 100644 index 00000000000..b0d2ab337e9 --- /dev/null +++ b/src/main/github/__experiments__/results/gate-lanes.probe.json @@ -0,0 +1,2883 @@ +{ + "neil-4sel-1vis": { + "what": "Neil's D2-2 probe: 4 selected identities every 60 s, 1 visible identity always due (period 120 s), 1 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 242, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 60 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 4, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 2, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 2 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 242, + "peak60s": 4, + "peak5min": 20 + }, + "budgeted": { + "starts": 244, + "peak60s": 5, + "peak5min": 20 + }, + "refusals": { + "selected": 2, + "visible": 31 + }, + "visibleIdentities": { + "seen": 1, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-2", + "starts": 60, + "firstStartS": 0, + "maxGapS": 120, + "tailWithoutStartS": 0 + }, + { + "key": "sel-3", + "starts": 60, + "firstStartS": 0, + "maxGapS": 120, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 1, + "served": 1, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 120, + "worstTailWithoutStartS": 3480, + "firstStartsS": [ + 0 + ] + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 61, + "overdueAtStartS": { + "p50": 130, + "p90": 220, + "max": 220 + }, + "waitedSinceFirstRefusalS": { + "p50": 130, + "p90": 220, + "max": 220 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 60, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "peak60s": 3, + "peak5min": 5 + }, + "visible": { + "starts": 30, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "peak60s": 1, + "peak5min": 3 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 151, + "peak60s": 5, + "peak5min": 13 + }, + "refusals": { + "selected": 51, + "visible": 2 + }, + "visibleIdentities": { + "seen": 1, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 28, + "firstStartS": 0, + "maxGapS": 280, + "tailWithoutStartS": 180 + }, + { + "key": "sel-1", + "starts": 29, + "firstStartS": 0, + "maxGapS": 280, + "tailWithoutStartS": 170 + }, + { + "key": "sel-2", + "starts": 28, + "firstStartS": 0, + "maxGapS": 280, + "tailWithoutStartS": 0 + }, + { + "key": "sel-3", + "starts": 36, + "firstStartS": 0, + "maxGapS": 190, + "tailWithoutStartS": 150 + } + ], + "visible": { + "callers": 1, + "served": 1, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 130, + "worstTailWithoutStartS": 100, + "firstStartsS": [ + 0 + ] + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 121, + "overdueAtStartS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "peak60s": 4, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 31, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 3 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 152, + "peak60s": 5, + "peak5min": 13 + }, + "refusals": { + "selected": 48, + "visible": 0 + }, + "visibleIdentities": { + "seen": 1, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 30, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 210 + }, + { + "key": "sel-2", + "starts": 30, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 180 + }, + { + "key": "sel-3", + "starts": 30, + "firstStartS": 0, + "maxGapS": 250, + "tailWithoutStartS": 170 + } + ], + "visible": { + "callers": 1, + "served": 1, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 120, + "worstTailWithoutStartS": 0, + "firstStartsS": [ + 0 + ] + } + } + }, + "4sel-50vis": { + "what": "4 selected identities every 60 s; 50 visible identities all due at minute 5, period 60 min; 2 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 484, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 4, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 484, + "peak60s": 4, + "peak5min": 20 + }, + "budgeted": { + "starts": 484, + "peak60s": 4, + "peak5min": 20 + }, + "refusals": { + "selected": 0, + "visible": 1309 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 50, + "worstWaitFromFirstSeenToFirstStartS": 6900 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-2", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-3", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 0, + "neverServed": 50, + "allServedByS": null, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 6900 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 121, + "overdueAtStartS": { + "p50": 140, + "p90": 230, + "max": 230 + }, + "waitedSinceFirstRefusalS": { + "p50": 140, + "p90": 230, + "max": 230 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 91, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "peak60s": 4, + "peak5min": 5 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 30, + "p90": 700, + "max": 940 + }, + "waitedSinceFirstRefusalS": { + "p50": 30, + "p90": 700, + "max": 940 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 212, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 312, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 99, + "visible": 146 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 940 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 53, + "firstStartS": 0, + "maxGapS": 290, + "tailWithoutStartS": 210 + }, + { + "key": "sel-1", + "starts": 53, + "firstStartS": 0, + "maxGapS": 290, + "tailWithoutStartS": 180 + }, + { + "key": "sel-2", + "starts": 53, + "firstStartS": 0, + "maxGapS": 290, + "tailWithoutStartS": 170 + }, + { + "key": "sel-3", + "starts": 53, + "firstStartS": 0, + "maxGapS": 290, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1240, + "worstMaxGapS": 3760, + "worstTailWithoutStartS": 3300 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 241, + "overdueAtStartS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "peak60s": 4, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 241, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 341, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 96, + "visible": 138 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1290 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 60, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 210 + }, + { + "key": "sel-2", + "starts": 60, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 180 + }, + { + "key": "sel-3", + "starts": 60, + "firstStartS": 0, + "maxGapS": 250, + "tailWithoutStartS": 170 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1590, + "worstMaxGapS": 3600, + "worstTailWithoutStartS": 3300 + } + } + }, + "2sel-50vis": { + "what": "2 selected identities every 60 s (one PR + its Checks read); 50 visible due at minute 5, period 60 min; 2 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 242, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 0, + "p90": 1840, + "max": 2410 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 1840, + "max": 2410 + }, + "peak60s": 6, + "peak5min": 6 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 242, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 342, + "peak60s": 8, + "peak5min": 16 + }, + "refusals": { + "selected": 0, + "visible": 427 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 2410 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 2710, + "worstMaxGapS": 3600, + "worstTailWithoutStartS": 3300 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 121, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 170 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 170 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 91, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 10 + }, + "peak60s": 2, + "peak5min": 5 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 50, + "p90": 720, + "max": 940 + }, + "waitedSinceFirstRefusalS": { + "p50": 50, + "p90": 720, + "max": 940 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 212, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 312, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 13, + "visible": 206 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 940 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 106, + "firstStartS": 0, + "maxGapS": 230, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 106, + "firstStartS": 0, + "maxGapS": 230, + "tailWithoutStartS": 50 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1240, + "worstMaxGapS": 3660, + "worstTailWithoutStartS": 3300 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 242, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 242, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 342, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 0, + "visible": 138 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1290 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 121, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1590, + "worstMaxGapS": 3600, + "worstTailWithoutStartS": 3300 + } + } + }, + "1sel-50vis-busy": { + "what": "1 selected identity every 60 s; 50 visible identities with running CI (period 120 s, permanently saturating); 1 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 61, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 134, + "overdueAtStartS": { + "p50": 1140, + "p90": 1330, + "max": 1330 + }, + "waitedSinceFirstRefusalS": { + "p50": 1140, + "p90": 1330, + "max": 1330 + }, + "peak60s": 6, + "peak5min": 13 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 61, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 195, + "peak60s": 7, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 897 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1250 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1250, + "worstMaxGapS": 1450, + "worstTailWithoutStartS": 1430 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 61, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 181, + "overdueAtStartS": { + "p50": 830, + "p90": 980, + "max": 980 + }, + "waitedSinceFirstRefusalS": { + "p50": 830, + "p90": 980, + "max": 980 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 61, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 242, + "peak60s": 7, + "peak5min": 20 + }, + "refusals": { + "selected": 0, + "visible": 574 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 940 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 940, + "worstMaxGapS": 1100, + "worstTailWithoutStartS": 1090 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 61, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 121, + "overdueAtStartS": { + "p50": 1380, + "p90": 1380, + "max": 1380 + }, + "waitedSinceFirstRefusalS": { + "p50": 1380, + "p90": 1380, + "max": 1380 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 61, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 182, + "peak60s": 7, + "peak5min": 15 + }, + "refusals": { + "selected": 0, + "visible": 528 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1290 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1290, + "worstMaxGapS": 1500, + "worstTailWithoutStartS": 1490 + } + } + }, + "8sel-checks-50vis": { + "what": "Checks demand: 4 clients, each a selected PR read and a Checks read every 60 s (8 selected identities); 50 visible due at minute 5, period 60 min; 2 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 488, + "overdueAtStartS": { + "p50": 0, + "p90": 180, + "max": 180 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 8, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 488, + "peak60s": 8, + "peak5min": 20 + }, + "budgeted": { + "starts": 488, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 192, + "visible": 1112 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 50, + "worstWaitFromFirstSeenToFirstStartS": 6900 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 73, + "firstStartS": 0, + "maxGapS": 180, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 73, + "firstStartS": 0, + "maxGapS": 180, + "tailWithoutStartS": 0 + }, + { + "key": "sel-2", + "starts": 73, + "firstStartS": 0, + "maxGapS": 180, + "tailWithoutStartS": 0 + }, + { + "key": "sel-3", + "starts": 73, + "firstStartS": 0, + "maxGapS": 180, + "tailWithoutStartS": 0 + }, + { + "key": "sel-4", + "starts": 49, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 0 + }, + { + "key": "sel-5", + "starts": 49, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 0 + }, + { + "key": "sel-6", + "starts": 49, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 0 + }, + { + "key": "sel-7", + "starts": 49, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 50, + "served": 0, + "neverServed": 50, + "allServedByS": null, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 6900 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 120, + "overdueAtStartS": { + "p50": 230, + "p90": 510, + "max": 520 + }, + "waitedSinceFirstRefusalS": { + "p50": 230, + "p90": 510, + "max": 520 + }, + "peak60s": 5, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 91, + "overdueAtStartS": { + "p50": 220, + "p90": 230, + "max": 270 + }, + "waitedSinceFirstRefusalS": { + "p50": 220, + "p90": 230, + "max": 270 + }, + "peak60s": 5, + "peak5min": 5 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 30, + "p90": 700, + "max": 940 + }, + "waitedSinceFirstRefusalS": { + "p50": 30, + "p90": 700, + "max": 940 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 211, + "peak60s": 8, + "peak5min": 10 + }, + "budgeted": { + "starts": 311, + "peak60s": 11, + "peak5min": 20 + }, + "refusals": { + "selected": 242, + "visible": 144 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 940 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 27, + "firstStartS": 0, + "maxGapS": 570, + "tailWithoutStartS": 170 + }, + { + "key": "sel-1", + "starts": 27, + "firstStartS": 0, + "maxGapS": 580, + "tailWithoutStartS": 200 + }, + { + "key": "sel-2", + "starts": 27, + "firstStartS": 0, + "maxGapS": 580, + "tailWithoutStartS": 160 + }, + { + "key": "sel-3", + "starts": 26, + "firstStartS": 0, + "maxGapS": 580, + "tailWithoutStartS": 220 + }, + { + "key": "sel-4", + "starts": 26, + "firstStartS": 0, + "maxGapS": 580, + "tailWithoutStartS": 180 + }, + { + "key": "sel-5", + "starts": 26, + "firstStartS": 0, + "maxGapS": 580, + "tailWithoutStartS": 190 + }, + { + "key": "sel-6", + "starts": 27, + "firstStartS": 10, + "maxGapS": 580, + "tailWithoutStartS": 150 + }, + { + "key": "sel-7", + "starts": 25, + "firstStartS": 20, + "maxGapS": 580, + "tailWithoutStartS": 210 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1240, + "worstMaxGapS": 3760, + "worstTailWithoutStartS": 3300 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 241, + "overdueAtStartS": { + "p50": 220, + "p90": 220, + "max": 290 + }, + "waitedSinceFirstRefusalS": { + "p50": 220, + "p90": 220, + "max": 290 + }, + "peak60s": 8, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 1200, + "max": 1290 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 241, + "peak60s": 8, + "peak5min": 10 + }, + "budgeted": { + "starts": 341, + "peak60s": 14, + "peak5min": 20 + }, + "refusals": { + "selected": 254, + "visible": 138 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1290 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 300, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 30, + "firstStartS": 0, + "maxGapS": 310, + "tailWithoutStartS": 270 + }, + { + "key": "sel-2", + "starts": 30, + "firstStartS": 0, + "maxGapS": 300, + "tailWithoutStartS": 260 + }, + { + "key": "sel-3", + "starts": 30, + "firstStartS": 0, + "maxGapS": 310, + "tailWithoutStartS": 250 + }, + { + "key": "sel-4", + "starts": 30, + "firstStartS": 0, + "maxGapS": 320, + "tailWithoutStartS": 240 + }, + { + "key": "sel-5", + "starts": 30, + "firstStartS": 0, + "maxGapS": 330, + "tailWithoutStartS": 230 + }, + { + "key": "sel-6", + "starts": 30, + "firstStartS": 0, + "maxGapS": 340, + "tailWithoutStartS": 220 + }, + { + "key": "sel-7", + "starts": 30, + "firstStartS": 0, + "maxGapS": 350, + "tailWithoutStartS": 210 + } + ], + "visible": { + "callers": 50, + "served": 50, + "neverServed": 0, + "allServedByS": 1590, + "worstMaxGapS": 3600, + "worstTailWithoutStartS": 3300 + } + } + }, + "4sel-quiet": { + "what": "4 selected identities every 60 s and no visible demand at all (how far selected may borrow); 1 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 244, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 4, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 244, + "peak60s": 4, + "peak5min": 20 + }, + "budgeted": { + "starts": 244, + "peak60s": 4, + "peak5min": 20 + }, + "refusals": { + "selected": 0, + "visible": 0 + }, + "visibleIdentities": { + "seen": 0, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-2", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + }, + { + "key": "sel-3", + "starts": 61, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 0, + "served": 0, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 0, + "firstStartsS": [] + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 61, + "overdueAtStartS": { + "p50": 140, + "p90": 160, + "max": 170 + }, + "waitedSinceFirstRefusalS": { + "p50": 140, + "p90": 160, + "max": 170 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 60, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "peak60s": 4, + "peak5min": 5 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "refusals": { + "selected": 51, + "visible": 0 + }, + "visibleIdentities": { + "seen": 0, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 30, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 210 + }, + { + "key": "sel-2", + "starts": 30, + "firstStartS": 0, + "maxGapS": 230, + "tailWithoutStartS": 180 + }, + { + "key": "sel-3", + "starts": 30, + "firstStartS": 0, + "maxGapS": 230, + "tailWithoutStartS": 170 + } + ], + "visible": { + "callers": 0, + "served": 0, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 0, + "firstStartsS": [] + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 3600, + "lanes": { + "selected-own": { + "starts": 121, + "overdueAtStartS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 160, + "max": 190 + }, + "peak60s": 4, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 121, + "peak60s": 4, + "peak5min": 10 + }, + "refusals": { + "selected": 48, + "visible": 0 + }, + "visibleIdentities": { + "seen": 0, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 0 + }, + { + "key": "sel-1", + "starts": 30, + "firstStartS": 0, + "maxGapS": 220, + "tailWithoutStartS": 210 + }, + { + "key": "sel-2", + "starts": 30, + "firstStartS": 0, + "maxGapS": 240, + "tailWithoutStartS": 180 + }, + { + "key": "sel-3", + "starts": 30, + "firstStartS": 0, + "maxGapS": 250, + "tailWithoutStartS": 170 + } + ], + "visible": { + "callers": 0, + "served": 0, + "neverServed": 0, + "allServedByS": 0, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 0, + "firstStartsS": [] + } + } + }, + "0sel-200vis": { + "what": "no selected demand; 200 visible identities all due at once, period 60 min (visible-only saturation); 2 h", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 385, + "overdueAtStartS": { + "p50": 220, + "p90": 3010, + "max": 3670 + }, + "waitedSinceFirstRefusalS": { + "p50": 220, + "p90": 3010, + "max": 3670 + }, + "peak60s": 6, + "peak5min": 16 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "budgeted": { + "starts": 385, + "peak60s": 6, + "peak5min": 16 + }, + "refusals": { + "selected": 0, + "visible": 1000 + }, + "visibleIdentities": { + "seen": 200, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 3670 + } + }, + "selected": [], + "visible": { + "callers": 200, + "served": 200, + "neverServed": 0, + "allServedByS": 3670, + "worstMaxGapS": 3820, + "worstTailWithoutStartS": 3810 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 361, + "overdueAtStartS": { + "p50": 500, + "p90": 3130, + "max": 3940 + }, + "waitedSinceFirstRefusalS": { + "p50": 500, + "p90": 3130, + "max": 3940 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "budgeted": { + "starts": 361, + "peak60s": 6, + "peak5min": 15 + }, + "refusals": { + "selected": 0, + "visible": 1167 + }, + "visibleIdentities": { + "seen": 200, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 3940 + } + }, + "selected": [], + "visible": { + "callers": 200, + "served": 200, + "neverServed": 0, + "allServedByS": 3940, + "worstMaxGapS": 4100, + "worstTailWithoutStartS": 4090 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 241, + "overdueAtStartS": { + "p50": 2400, + "p90": 5150, + "max": 5790 + }, + "waitedSinceFirstRefusalS": { + "p50": 2400, + "p90": 5150, + "max": 5790 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "budgeted": { + "starts": 241, + "peak60s": 6, + "peak5min": 10 + }, + "refusals": { + "selected": 0, + "visible": 1563 + }, + "visibleIdentities": { + "seen": 200, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 5790 + } + }, + "selected": [], + "visible": { + "callers": 200, + "served": 200, + "neverServed": 0, + "allServedByS": 5790, + "worstMaxGapS": 6000, + "worstTailWithoutStartS": 5990 + } + } + }, + "cancel-50-absent": { + "what": "cancellation: client 9 has 50 visible identities due at 0 and disappears at 60 s (claims left behind); client 8 has 5 visible identities due at 60 s; 1 selected; 30 min", + "before": { + "summary": { + "gate": "d2", + "simulatedSeconds": 1800, + "lanes": { + "selected-own": { + "starts": 31, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 11, + "overdueAtStartS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "waitedSinceFirstRefusalS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "peak60s": 6, + "peak5min": 6 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 31, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 42, + "peak60s": 7, + "peak5min": 11 + }, + "refusals": { + "selected": 0, + "visible": 59 + }, + "visibleIdentities": { + "seen": 55, + "neverServed": 44, + "worstWaitFromFirstSeenToFirstStartS": 1800 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 55, + "served": 11, + "neverServed": 44, + "allServedByS": null, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 1800 + } + }, + "after": { + "summary": { + "gate": "d3", + "simulatedSeconds": 1800, + "lanes": { + "selected-own": { + "starts": 31, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 11, + "overdueAtStartS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "waitedSinceFirstRefusalS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "peak60s": 6, + "peak5min": 6 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 31, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 42, + "peak60s": 7, + "peak5min": 11 + }, + "refusals": { + "selected": 0, + "visible": 59 + }, + "visibleIdentities": { + "seen": 55, + "neverServed": 44, + "worstWaitFromFirstSeenToFirstStartS": 1800 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 55, + "served": 11, + "neverServed": 44, + "allServedByS": null, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 1800 + } + }, + "alt10x10": { + "summary": { + "gate": "d3", + "simulatedSeconds": 1800, + "lanes": { + "selected-own": { + "starts": 31, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 11, + "overdueAtStartS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "waitedSinceFirstRefusalS": { + "p50": 50, + "p90": 480, + "max": 490 + }, + "peak60s": 6, + "peak5min": 6 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 31, + "peak60s": 1, + "peak5min": 5 + }, + "budgeted": { + "starts": 42, + "peak60s": 7, + "peak5min": 11 + }, + "refusals": { + "selected": 0, + "visible": 59 + }, + "visibleIdentities": { + "seen": 55, + "neverServed": 44, + "worstWaitFromFirstSeenToFirstStartS": 1800 + } + }, + "selected": [ + { + "key": "sel-0", + "starts": 31, + "firstStartS": 0, + "maxGapS": 60, + "tailWithoutStartS": 0 + } + ], + "visible": { + "callers": 55, + "served": 11, + "neverServed": 44, + "allServedByS": null, + "worstMaxGapS": 0, + "worstTailWithoutStartS": 1800 + } + } + }, + "20-selected-at-one-instant": { + "what": "selected starts admitted at a single instant out of 20 distinct identities", + "before": 20, + "after": 6 + }, + "4-selected-then-16-visible": { + "what": "Neil's reserve probe: 4 selected at once, then 16 visible 10 s apart", + "before": { + "selected": 4, + "visible": 12 + }, + "after": { + "selected": 4, + "visible": 15 + } + } +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-focused-noci0.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-focused-noci0.json new file mode 100644 index 00000000000..d02e0ca5c43 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-focused-noci0.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": false, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 277, + "perHour": 69.3, + "byKind": { + "auth:status": 53, + "pr:view": 69, + "graphql:checks": 69, + "graphql:merge-metadata": 11, + "rest:pull": 60, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "ghe.example.com": 277 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 69.3 + }, + "firstHour": 156, + "perHourCounts": [ + 156, + 44, + 36, + 41 + ], + "lastHourByKind": { + "auth:status": 10, + "pr:view": 9, + "graphql:checks": 9, + "graphql:merge-metadata": 3, + "rest:pull": 8, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 9, + "first15min": 103, + "steadyPerHour": 46.4, + "steadyPerMinute": 0.77, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 13, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 15, + 6, + 0, + 0, + 0, + 0, + 0, + 7, + 12, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 8, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 8, + 4, + 0, + 4, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 4, + 4, + 0, + 0, + 8, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 4, + 4, + 4, + 4, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 8, + 0, + 0, + 4, + 8, + 0, + 0, + 0, + 0, + 4, + 0, + 0 + ] + }, + "git": { + "total": 306 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-focused.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-focused.json new file mode 100644 index 00000000000..2e8f3ce46c2 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-focused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 278, + "perHour": 69.5, + "byKind": { + "auth:status": 53, + "pr:view": 69, + "graphql:checks": 69, + "graphql:merge-metadata": 12, + "rest:pull": 60, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "ghe.example.com": 278 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 69.5 + }, + "firstHour": 156, + "perHourCounts": [ + 156, + 44, + 36, + 42 + ], + "lastHourByKind": { + "auth:status": 10, + "pr:view": 9, + "graphql:checks": 9, + "graphql:merge-metadata": 4, + "rest:pull": 8, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 8, + "first15min": 103, + "steadyPerHour": 46.7, + "steadyPerMinute": 0.78, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 16, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 15, + 6, + 0, + 0, + 0, + 0, + 0, + 7, + 12, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 8, + 4, + 8, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 4, + 4, + 0, + 4, + 0, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 4, + 0, + 4, + 0, + 0, + 4, + 0, + 4, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 4, + 4, + 0, + 0, + 0, + 4, + 8, + 0, + 5, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 306 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-hidden.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-hidden.json new file mode 100644 index 00000000000..088a5828f0e --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-hidden.json @@ -0,0 +1,179 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 2, + "workload": "settled", + "focus": "hidden", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 0, + "perHour": 0, + "byKind": {}, + "apiRequestsByHost": {}, + "apiRequestsPerHourByHost": {}, + "firstHour": 0, + "perHourCounts": [ + 0, + 0 + ], + "lastHourByKind": {}, + "lastHourRollingPeak60s": 0, + "first15min": 0, + "steadyPerHour": 0, + "steadyPerMinute": 0, + "rollingPeak60s": 0, + "rollingPeak60sSteady": 0, + "worstPeakToMean15min": 0, + "timelinePerMinute": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 0 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-mixed.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-mixed.json new file mode 100644 index 00000000000..1823f517ff6 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-mixed.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 373, + "perHour": 93.3, + "byKind": { + "auth:status": 55, + "pr:view": 99, + "graphql:checks": 99, + "graphql:merge-metadata": 15, + "rest:pull": 90, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "ghe.example.com": 373 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 93.3 + }, + "firstHour": 256, + "perHourCounts": [ + 256, + 43, + 37, + 37 + ], + "lastHourByKind": { + "auth:status": 9, + "pr:view": 8, + "graphql:checks": 8, + "graphql:merge-metadata": 3, + "rest:pull": 7, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 8, + "first15min": 124, + "steadyPerHour": 66.4, + "steadyPerMinute": 1.11, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 16, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 3, + 6, + 12, + 6, + 3, + 3, + 4, + 3, + 3, + 9, + 9, + 7, + 5, + 4, + 3, + 3, + 3, + 4, + 0, + 6, + 0, + 6, + 0, + 10, + 4, + 14, + 4, + 7, + 0, + 0, + 1, + 7, + 0, + 0, + 0, + 6, + 0, + 0, + 4, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 4, + 0, + 0, + 0, + 0, + 0, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 4, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 1, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 9, + 3, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 4, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 426 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-return.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-return.json new file mode 100644 index 00000000000..a2ad5e53e17 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-return.json @@ -0,0 +1,201 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 2, + "workload": "settled", + "focus": "return", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 187, + "perHour": 93.5, + "byKind": { + "auth:status": 36, + "pr:view": 47, + "graphql:checks": 47, + "graphql:merge-metadata": 6, + "rest:pull": 41, + "rest:pulls-by-head": 10 + }, + "apiRequestsByHost": { + "ghe.example.com": 187 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 93.5 + }, + "firstHour": 147, + "perHourCounts": [ + 147, + 40 + ], + "lastHourByKind": { + "auth:status": 10, + "pr:view": 9, + "graphql:checks": 9, + "rest:pull": 8, + "graphql:merge-metadata": 2, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 13, + "first15min": 66, + "steadyPerHour": 69.1, + "steadyPerMinute": 1.15, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 6, + 0, + 0, + 0, + 0, + 0, + 3, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 8, + 12, + 0, + 0, + 0, + 0, + 2, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 0, + 8, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 5, + 0, + 0 + ] + }, + "git": { + "total": 208 + }, + "serve": null, + "detection": null, + "focusReturn": { + "spawnsBeforeReturn": 71, + "spawnsFirst15minAfter": 49, + "catchUpBurstSeconds": 75 + }, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused-noidle.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused-noidle.json new file mode 100644 index 00000000000..242ddd603d8 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused-noidle.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "unfocused", + "idle": "none", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 276, + "perHour": 69, + "byKind": { + "auth:status": 53, + "pr:view": 69, + "graphql:checks": 69, + "graphql:merge-metadata": 10, + "rest:pull": 60, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "ghe.example.com": 276 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 69 + }, + "firstHour": 156, + "perHourCounts": [ + 156, + 44, + 40, + 36 + ], + "lastHourByKind": { + "auth:status": 9, + "pr:view": 8, + "graphql:checks": 8, + "graphql:merge-metadata": 2, + "rest:pull": 7, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 8, + "first15min": 103, + "steadyPerHour": 46.1, + "steadyPerMinute": 0.77, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 13, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 15, + 6, + 0, + 0, + 0, + 0, + 0, + 7, + 12, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 11, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 4, + 4, + 8, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 0, + 0, + 4, + 0, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 4, + 0, + 4, + 0, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 0, + 0, + 0, + 0, + 8, + 4, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 306 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused.json b/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused.json new file mode 100644 index 00000000000..4fc26dc7aeb --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n10-unfocused.json @@ -0,0 +1,318 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "unfocused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 111, + "perHour": 27.8, + "byKind": { + "auth:status": 19, + "pr:view": 27, + "graphql:checks": 27, + "graphql:merge-metadata": 10, + "rest:pull": 25, + "rest:pulls-by-head": 3 + }, + "apiRequestsByHost": { + "ghe.example.com": 111 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 27.8 + }, + "firstHour": 76, + "perHourCounts": [ + 76, + 15, + 10, + 10 + ], + "lastHourByKind": { + "auth:status": 2, + "pr:view": 2, + "graphql:checks": 2, + "graphql:merge-metadata": 2, + "rest:pull": 2 + }, + "lastHourRollingPeak60s": 5, + "first15min": 66, + "steadyPerHour": 12, + "steadyPerMinute": 0.2, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 5, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 17, + 12, + 9, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 113 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j0.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j0.json new file mode 100644 index 00000000000..ebe9580c24d --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j0.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1176, + "perHour": 294, + "byKind": { + "auth:status": 253, + "pr:view": 294, + "graphql:checks": 294, + "graphql:merge-metadata": 12, + "rest:pull": 254, + "rest:pulls-by-head": 69 + }, + "apiRequestsByHost": { + "ghe.example.com": 1176 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 294 + }, + "firstHour": 708, + "perHourCounts": [ + 708, + 156, + 156, + 156 + ], + "lastHourByKind": { + "auth:status": 41, + "rest:pulls-by-head": 10, + "pr:view": 36, + "graphql:checks": 36, + "graphql:merge-metadata": 2, + "rest:pull": 31 + }, + "lastHourRollingPeak60s": 25, + "first15min": 222, + "steadyPerHour": 254.4, + "steadyPerMinute": 4.24, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 22, + 21, + 9, + 0, + 24, + 22, + 20, + 10, + 0, + 25, + 17, + 18, + 9, + 0, + 15, + 18, + 18, + 9, + 0, + 17, + 21, + 22, + 12, + 0, + 20, + 24, + 19, + 13, + 0, + 20, + 17, + 15, + 12, + 0, + 15, + 18, + 15, + 12, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 23, + 16, + 0, + 21, + 18, + 22, + 16, + 0, + 12, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 24, + 16, + 0, + 20, + 16, + 20, + 20, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 5, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 21, + 19, + 0, + 16, + 20, + 17, + 23, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 5, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 20, + 20, + 0, + 16, + 17, + 19, + 20, + 4, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 5, + 2, + 2, + 0 + ] + }, + "git": { + "total": 1321 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j25.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j25.json new file mode 100644 index 00000000000..7e4289df7c6 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused-j25.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.25, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1264, + "perHour": 316, + "byKind": { + "auth:status": 274, + "pr:view": 314, + "graphql:checks": 314, + "graphql:merge-metadata": 18, + "rest:pull": 273, + "rest:pulls-by-head": 71 + }, + "apiRequestsByHost": { + "ghe.example.com": 1264 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 316 + }, + "firstHour": 710, + "perHourCounts": [ + 710, + 161, + 202, + 191 + ], + "lastHourByKind": { + "auth:status": 49, + "pr:view": 44, + "graphql:checks": 44, + "rest:pull": 39, + "graphql:merge-metadata": 5, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 16, + "first15min": 222, + "steadyPerHour": 277.9, + "steadyPerMinute": 4.63, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 22, + 24, + 6, + 0, + 24, + 22, + 21, + 9, + 0, + 25, + 17, + 18, + 9, + 0, + 18, + 15, + 18, + 9, + 0, + 20, + 16, + 24, + 12, + 0, + 21, + 19, + 24, + 12, + 0, + 19, + 18, + 18, + 9, + 0, + 15, + 18, + 18, + 9, + 0, + 5, + 0, + 0, + 4, + 0, + 10, + 22, + 20, + 12, + 12, + 13, + 24, + 20, + 8, + 0, + 4, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 16, + 12, + 21, + 8, + 24, + 16, + 12, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 2, + 2, + 0, + 0, + 4, + 0, + 0, + 4, + 5, + 0, + 1, + 3, + 4, + 8, + 8, + 4, + 12, + 8, + 5, + 12, + 12, + 4, + 9, + 15, + 8, + 8, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 4, + 6, + 5, + 7, + 0, + 4, + 4, + 5, + 12, + 4, + 0, + 8, + 4, + 0, + 8, + 4, + 4, + 13, + 12, + 4, + 4, + 12, + 4, + 0, + 4, + 4, + 4, + 5, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 8, + 0, + 0, + 4, + 0, + 0, + 6, + 4, + 0, + 5, + 0, + 0, + 4, + 8, + 0, + 4, + 8, + 0, + 12, + 4, + 9, + 4 + ] + }, + "git": { + "total": 1406 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-focused.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused.json new file mode 100644 index 00000000000..1159ff6ca39 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-focused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1181, + "perHour": 295.3, + "byKind": { + "auth:status": 254, + "pr:view": 294, + "graphql:checks": 294, + "graphql:merge-metadata": 15, + "rest:pull": 254, + "rest:pulls-by-head": 70 + }, + "apiRequestsByHost": { + "ghe.example.com": 1181 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 295.3 + }, + "firstHour": 710, + "perHourCounts": [ + 710, + 157, + 157, + 157 + ], + "lastHourByKind": { + "auth:status": 41, + "pr:view": 36, + "graphql:checks": 36, + "graphql:merge-metadata": 3, + "rest:pull": 31, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 24, + "first15min": 222, + "steadyPerHour": 255.7, + "steadyPerMinute": 4.26, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 24, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 22, + 21, + 9, + 0, + 24, + 22, + 21, + 9, + 0, + 25, + 17, + 18, + 9, + 0, + 18, + 15, + 18, + 9, + 0, + 17, + 21, + 22, + 12, + 0, + 21, + 21, + 24, + 10, + 0, + 20, + 17, + 15, + 12, + 0, + 15, + 18, + 15, + 12, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 12, + 21, + 15, + 14, + 11, + 16, + 21, + 15, + 16, + 8, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 4, + 21, + 19, + 16, + 12, + 8, + 16, + 16, + 12, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 20, + 16, + 21, + 11, + 12, + 4, + 16, + 8, + 8, + 13, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 7, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 9, + 15, + 12, + 12, + 21, + 3, + 8, + 4, + 13, + 16, + 12, + 4, + 4, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 7, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 1326 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-mixed.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-mixed.json new file mode 100644 index 00000000000..c6bf810ad82 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-mixed.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 1317, + "perHour": 329.3, + "byKind": { + "auth:status": 263, + "pr:view": 335, + "graphql:checks": 335, + "graphql:merge-metadata": 19, + "rest:pull": 295, + "rest:pulls-by-head": 70 + }, + "apiRequestsByHost": { + "ghe.example.com": 1317 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 329.3 + }, + "firstHour": 811, + "perHourCounts": [ + 811, + 190, + 158, + 158 + ], + "lastHourByKind": { + "auth:status": 41, + "pr:view": 36, + "graphql:checks": 36, + "graphql:merge-metadata": 4, + "rest:pull": 31, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 16, + "first15min": 222, + "steadyPerHour": 292, + "steadyPerMinute": 4.87, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 24, + "worstPeakToMean15min": 10.59, + "timelinePerMinute": [ + 25, + 22, + 21, + 9, + 0, + 24, + 22, + 20, + 10, + 0, + 25, + 17, + 18, + 9, + 0, + 18, + 15, + 18, + 9, + 0, + 20, + 18, + 22, + 12, + 0, + 20, + 24, + 22, + 10, + 0, + 18, + 20, + 14, + 12, + 0, + 15, + 18, + 15, + 12, + 0, + 16, + 19, + 21, + 14, + 0, + 4, + 9, + 18, + 8, + 12, + 19, + 11, + 16, + 11, + 14, + 11, + 19, + 16, + 12, + 7, + 5, + 6, + 4, + 0, + 0, + 0, + 4, + 0, + 0, + 4, + 0, + 0, + 8, + 4, + 4, + 7, + 3, + 0, + 16, + 4, + 0, + 16, + 17, + 5, + 11, + 16, + 16, + 4, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 4, + 8, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 5, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 4, + 0, + 0, + 8, + 12, + 8, + 4, + 12, + 8, + 9, + 8, + 8, + 0, + 16, + 8, + 8, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 4, + 8, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 5, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 8, + 0, + 0, + 4, + 4, + 4, + 16, + 12, + 4, + 8, + 9, + 0, + 4, + 12, + 4, + 4, + 4, + 12, + 8, + 4, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 1490 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-return.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-return.json new file mode 100644 index 00000000000..b746ac0e741 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-return.json @@ -0,0 +1,201 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 2, + "workload": "settled", + "focus": "return", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 891, + "perHour": 445.5, + "byKind": { + "auth:status": 199, + "pr:view": 222, + "graphql:checks": 222, + "graphql:merge-metadata": 9, + "rest:pull": 192, + "rest:pulls-by-head": 47 + }, + "apiRequestsByHost": { + "ghe.example.com": 891 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 445.5 + }, + "firstHour": 599, + "perHourCounts": [ + 599, + 292 + ], + "lastHourByKind": { + "auth:status": 73, + "rest:pulls-by-head": 16, + "pr:view": 70, + "graphql:checks": 70, + "rest:pull": 60, + "graphql:merge-metadata": 3 + }, + "lastHourRollingPeak60s": 24, + "first15min": 198, + "steadyPerHour": 396, + "steadyPerMinute": 6.6, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 22, + 24, + 6, + 0, + 24, + 22, + 20, + 10, + 0, + 25, + 17, + 0, + 3, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 24, + 22, + 22, + 8, + 0, + 23, + 22, + 24, + 5, + 0, + 18, + 18, + 15, + 9, + 0, + 19, + 19, + 14, + 16, + 0, + 24, + 21, + 19, + 16, + 0, + 25, + 8, + 0, + 0, + 2, + 2, + 3, + 2, + 19, + 0, + 11, + 21, + 24, + 20, + 0, + 12, + 24, + 4, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 12, + 8, + 12, + 12, + 16, + 12, + 12, + 16, + 12, + 13, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2 + ] + }, + "git": { + "total": 973 + }, + "serve": null, + "detection": null, + "focusReturn": { + "spawnsBeforeReturn": 206, + "spawnsFirst15minAfter": 210, + "catchUpBurstSeconds": 200 + }, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-after-n50-unfocused.json b/src/main/github/__experiments__/results/ghes-desk-after-n50-unfocused.json new file mode 100644 index 00000000000..c45a34fda25 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-after-n50-unfocused.json @@ -0,0 +1,318 @@ +{ + "config": { + "scenario": "desktop-after", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "unfocused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 246, + "perHour": 61.5, + "byKind": { + "auth:status": 59, + "pr:view": 57, + "graphql:checks": 57, + "graphql:merge-metadata": 11, + "rest:pull": 52, + "rest:pulls-by-head": 10 + }, + "apiRequestsByHost": { + "ghe.example.com": 246 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 61.5 + }, + "firstHour": 211, + "perHourCounts": [ + 211, + 10, + 10, + 15 + ], + "lastHourByKind": { + "auth:status": 3, + "pr:view": 3, + "graphql:checks": 3, + "graphql:merge-metadata": 3, + "rest:pull": 3 + }, + "lastHourRollingPeak60s": 5, + "first15min": 198, + "steadyPerHour": 12.8, + "steadyPerMinute": 0.21, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 5, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 25, + 22, + 21, + 9, + 0, + 24, + 22, + 20, + 10, + 0, + 25, + 17, + 0, + 3, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0 + ] + }, + "git": { + "total": 253 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n10-focused.json b/src/main/github/__experiments__/results/ghes-desk-before-n10-focused.json new file mode 100644 index 00000000000..534724907d0 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n10-focused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2888, + "perHour": 722, + "byKind": { + "auth:status": 124, + "pr:view": 908, + "graphql:checks": 908, + "graphql:merge-metadata": 24, + "rest:pull": 794, + "rest:pulls-by-head": 130 + }, + "apiRequestsByHost": { + "ghe.example.com": 2888 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 722 + }, + "firstHour": 731, + "perHourCounts": [ + 731, + 717, + 717, + 723 + ], + "lastHourByKind": { + "pr:view": 227, + "graphql:checks": 227, + "rest:pull": 198, + "rest:pulls-by-head": 33, + "auth:status": 32, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 19, + "first15min": 190, + "steadyPerHour": 719.5, + "steadyPerMinute": 11.99, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 22, + "worstPeakToMean15min": 1.62, + "timelinePerMinute": [ + 25, + 17, + 12, + 12, + 3, + 18, + 6, + 15, + 9, + 12, + 13, + 12, + 12, + 9, + 15, + 10, + 18, + 11, + 12, + 12, + 10, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 9, + 15, + 7, + 18, + 6, + 19, + 11, + 12, + 12, + 12, + 12, + 9, + 16, + 9, + 15, + 9, + 12, + 9, + 14, + 10, + 15, + 6, + 19, + 12, + 15, + 9, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 16, + 11, + 13, + 6, + 15, + 9, + 16, + 11, + 15, + 9, + 16, + 9, + 12, + 12, + 12, + 12, + 11, + 12, + 10, + 15, + 10, + 12, + 9, + 19, + 8, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 15, + 9, + 13, + 12, + 12, + 9, + 15, + 10, + 15, + 12, + 12, + 9, + 15, + 9, + 14, + 12, + 9, + 15, + 10, + 15, + 10, + 12, + 12, + 12, + 10, + 19, + 7, + 15, + 9, + 14, + 10, + 12, + 12, + 12, + 13, + 9, + 15, + 9, + 12, + 12, + 13, + 10, + 19, + 10, + 14, + 6, + 15, + 9, + 15, + 10, + 10, + 15, + 9, + 12, + 9, + 15, + 9, + 17, + 11, + 13, + 16, + 9, + 15, + 9, + 12, + 10, + 15, + 6, + 15, + 9, + 16, + 6, + 15, + 9, + 17, + 13, + 9, + 17, + 9, + 12, + 10, + 16, + 9, + 12, + 12, + 12, + 12, + 12, + 9, + 12, + 16, + 10, + 17, + 7, + 16, + 9, + 13, + 9, + 15, + 9, + 16, + 9, + 12, + 12, + 12, + 14, + 9, + 13, + 10, + 14, + 11, + 16, + 10, + 15, + 9, + 12, + 12, + 12, + 12, + 9, + 14, + 10, + 12, + 9, + 17, + 9, + 17, + 12, + 12, + 12, + 12, + 13, + 9, + 15, + 6, + 17, + 6, + 15, + 9, + 12, + 12, + 15, + 13, + 14, + 14, + 12, + 12 + ] + }, + "git": { + "total": 3712 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n10-hidden.json b/src/main/github/__experiments__/results/ghes-desk-before-n10-hidden.json new file mode 100644 index 00000000000..1950ed29754 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n10-hidden.json @@ -0,0 +1,179 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 2, + "workload": "settled", + "focus": "hidden", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 0, + "perHour": 0, + "byKind": {}, + "apiRequestsByHost": {}, + "apiRequestsPerHourByHost": {}, + "firstHour": 0, + "perHourCounts": [ + 0, + 0 + ], + "lastHourByKind": {}, + "lastHourRollingPeak60s": 0, + "first15min": 0, + "steadyPerHour": 0, + "steadyPerMinute": 0, + "rollingPeak60s": 0, + "rollingPeak60sSteady": 0, + "worstPeakToMean15min": 0, + "timelinePerMinute": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 0 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n10-mixed.json b/src/main/github/__experiments__/results/ghes-desk-before-n10-mixed.json new file mode 100644 index 00000000000..ae469a7676c --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n10-mixed.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2888, + "perHour": 722, + "byKind": { + "auth:status": 124, + "pr:view": 908, + "graphql:checks": 908, + "graphql:merge-metadata": 24, + "rest:pull": 794, + "rest:pulls-by-head": 130 + }, + "apiRequestsByHost": { + "ghe.example.com": 2888 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 722 + }, + "firstHour": 728, + "perHourCounts": [ + 728, + 723, + 714, + 723 + ], + "lastHourByKind": { + "pr:view": 227, + "graphql:checks": 227, + "rest:pull": 198, + "rest:pulls-by-head": 33, + "auth:status": 32, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 18, + "first15min": 190, + "steadyPerHour": 719.5, + "steadyPerMinute": 11.99, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 21, + "worstPeakToMean15min": 1.53, + "timelinePerMinute": [ + 25, + 17, + 12, + 12, + 3, + 18, + 6, + 15, + 9, + 12, + 13, + 12, + 12, + 9, + 15, + 10, + 18, + 11, + 12, + 12, + 10, + 15, + 6, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 13, + 13, + 13, + 14, + 14, + 9, + 15, + 6, + 15, + 9, + 16, + 6, + 15, + 9, + 15, + 9, + 12, + 15, + 10, + 17, + 11, + 14, + 12, + 12, + 9, + 15, + 6, + 15, + 6, + 15, + 9, + 16, + 11, + 10, + 15, + 10, + 17, + 10, + 14, + 12, + 12, + 10, + 15, + 6, + 15, + 9, + 15, + 8, + 12, + 13, + 12, + 13, + 10, + 17, + 10, + 17, + 9, + 12, + 9, + 15, + 9, + 16, + 8, + 12, + 9, + 16, + 9, + 12, + 12, + 10, + 17, + 11, + 14, + 9, + 15, + 9, + 15, + 11, + 9, + 15, + 10, + 15, + 10, + 12, + 9, + 16, + 9, + 14, + 10, + 17, + 6, + 15, + 12, + 12, + 12, + 9, + 16, + 9, + 15, + 9, + 12, + 12, + 14, + 9, + 17, + 11, + 13, + 11, + 12, + 9, + 15, + 9, + 14, + 12, + 12, + 12, + 12, + 12, + 9, + 13, + 9, + 17, + 11, + 16, + 9, + 12, + 9, + 15, + 10, + 12, + 12, + 12, + 12, + 13, + 12, + 9, + 16, + 8, + 17, + 11, + 13, + 9, + 15, + 8, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 12, + 11, + 14, + 12, + 14, + 11, + 16, + 9, + 13, + 9, + 15, + 9, + 13, + 9, + 15, + 9, + 13, + 13, + 9, + 16, + 9, + 15, + 15, + 12, + 10, + 15, + 9, + 15, + 6, + 15, + 9, + 12, + 12, + 12, + 12, + 12, + 13, + 9, + 18, + 11, + 13, + 12, + 13, + 9, + 15, + 9, + 12, + 11, + 12, + 9, + 12, + 12, + 13, + 13, + 13, + 14, + 15, + 12, + 9 + ] + }, + "git": { + "total": 3716 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n10-unfocused.json b/src/main/github/__experiments__/results/ghes-desk-before-n10-unfocused.json new file mode 100644 index 00000000000..1aad4102193 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n10-unfocused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 10, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "unfocused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2891, + "perHour": 722.8, + "byKind": { + "auth:status": 124, + "pr:view": 909, + "graphql:checks": 909, + "graphql:merge-metadata": 24, + "rest:pull": 795, + "rest:pulls-by-head": 130 + }, + "apiRequestsByHost": { + "ghe.example.com": 2891 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 722.8 + }, + "firstHour": 731, + "perHourCounts": [ + 731, + 717, + 717, + 726 + ], + "lastHourByKind": { + "pr:view": 228, + "graphql:checks": 228, + "rest:pull": 199, + "rest:pulls-by-head": 33, + "auth:status": 32, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 17, + "first15min": 190, + "steadyPerHour": 720.3, + "steadyPerMinute": 12, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 21, + "worstPeakToMean15min": 1.62, + "timelinePerMinute": [ + 25, + 17, + 12, + 12, + 3, + 18, + 6, + 15, + 9, + 12, + 13, + 12, + 12, + 9, + 15, + 10, + 18, + 11, + 12, + 12, + 10, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 9, + 12, + 10, + 14, + 10, + 19, + 11, + 12, + 12, + 12, + 12, + 9, + 16, + 9, + 15, + 9, + 12, + 9, + 15, + 9, + 15, + 6, + 19, + 12, + 15, + 9, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 16, + 8, + 13, + 9, + 15, + 6, + 19, + 11, + 15, + 9, + 13, + 12, + 12, + 12, + 12, + 12, + 11, + 12, + 10, + 15, + 7, + 15, + 9, + 16, + 11, + 15, + 9, + 15, + 9, + 12, + 12, + 12, + 15, + 9, + 13, + 12, + 12, + 9, + 15, + 7, + 18, + 12, + 12, + 9, + 15, + 9, + 14, + 12, + 9, + 15, + 10, + 15, + 10, + 12, + 9, + 15, + 10, + 15, + 11, + 15, + 6, + 14, + 13, + 12, + 12, + 9, + 16, + 9, + 15, + 9, + 12, + 12, + 13, + 10, + 19, + 7, + 14, + 9, + 15, + 9, + 12, + 13, + 10, + 15, + 9, + 12, + 9, + 15, + 9, + 16, + 11, + 14, + 16, + 9, + 12, + 12, + 12, + 10, + 15, + 9, + 12, + 9, + 16, + 6, + 15, + 9, + 16, + 13, + 11, + 16, + 9, + 12, + 14, + 9, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 14, + 15, + 12, + 12, + 10, + 12, + 12, + 9, + 12, + 10, + 12, + 12, + 12, + 14, + 9, + 13, + 12, + 14, + 15, + 13, + 13, + 12, + 12, + 9, + 12, + 12, + 9, + 12, + 14, + 13, + 9, + 12, + 13, + 13, + 14, + 14, + 13, + 9, + 12, + 13, + 12, + 12, + 12, + 11, + 12, + 12, + 12, + 9, + 12, + 14, + 10, + 14, + 15, + 12, + 12 + ] + }, + "git": { + "total": 3716 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n50-focused.json b/src/main/github/__experiments__/results/ghes-desk-before-n50-focused.json new file mode 100644 index 00000000000..b7e51be461b --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n50-focused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 3316, + "perHour": 829, + "byKind": { + "auth:status": 522, + "pr:view": 905, + "graphql:checks": 905, + "graphql:merge-metadata": 24, + "rest:pull": 778, + "rest:pulls-by-head": 182 + }, + "apiRequestsByHost": { + "ghe.example.com": 3316 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 829 + }, + "firstHour": 831, + "perHourCounts": [ + 831, + 834, + 833, + 818 + ], + "lastHourByKind": { + "pr:view": 226, + "graphql:checks": 226, + "rest:pull": 194, + "rest:pulls-by-head": 46, + "graphql:merge-metadata": 6, + "auth:status": 120 + }, + "lastHourRollingPeak60s": 25, + "first15min": 222, + "steadyPerHour": 825.1, + "steadyPerMinute": 13.75, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 1.88, + "timelinePerMinute": [ + 25, + 22, + 24, + 6, + 0, + 24, + 22, + 20, + 10, + 0, + 25, + 20, + 15, + 9, + 0, + 18, + 18, + 15, + 9, + 0, + 20, + 20, + 22, + 12, + 0, + 22, + 20, + 24, + 9, + 0, + 20, + 17, + 18, + 8, + 0, + 15, + 19, + 18, + 9, + 0, + 20, + 24, + 24, + 10, + 0, + 19, + 24, + 21, + 11, + 0, + 15, + 18, + 15, + 12, + 0, + 15, + 14, + 18, + 16, + 0, + 21, + 20, + 23, + 16, + 0, + 15, + 23, + 20, + 12, + 0, + 13, + 18, + 18, + 11, + 0, + 11, + 18, + 24, + 13, + 0, + 17, + 24, + 21, + 19, + 0, + 16, + 20, + 16, + 14, + 0, + 13, + 18, + 15, + 14, + 0, + 12, + 22, + 20, + 18, + 0, + 17, + 19, + 23, + 20, + 0, + 14, + 15, + 18, + 15, + 0, + 9, + 18, + 18, + 17, + 0, + 11, + 23, + 24, + 18, + 0, + 13, + 22, + 24, + 15, + 0, + 9, + 18, + 15, + 18, + 0, + 10, + 18, + 15, + 24, + 0, + 12, + 24, + 20, + 22, + 0, + 13, + 22, + 16, + 17, + 0, + 9, + 14, + 18, + 18, + 0, + 7, + 19, + 24, + 18, + 4, + 9, + 23, + 20, + 24, + 2, + 9, + 20, + 15, + 17, + 3, + 6, + 17, + 15, + 17, + 3, + 8, + 23, + 20, + 24, + 4, + 8, + 22, + 20, + 20, + 6, + 7, + 17, + 15, + 15, + 6, + 5, + 15, + 19, + 15, + 8, + 9, + 18, + 24, + 20, + 8, + 7, + 20, + 24, + 14, + 6, + 6, + 16, + 15, + 18, + 6, + 6, + 15, + 18, + 21, + 8, + 5, + 22, + 19, + 22, + 8, + 5, + 23, + 16, + 15, + 9, + 3, + 16, + 18, + 15, + 9, + 3, + 16, + 23, + 20, + 9, + 4, + 21, + 24, + 20, + 10, + 4, + 15, + 19, + 15, + 9 + ] + }, + "git": { + "total": 3895 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n50-mixed.json b/src/main/github/__experiments__/results/ghes-desk-before-n50-mixed.json new file mode 100644 index 00000000000..b7a9649eeb7 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n50-mixed.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 3316, + "perHour": 829, + "byKind": { + "auth:status": 522, + "pr:view": 905, + "graphql:checks": 905, + "graphql:merge-metadata": 24, + "rest:pull": 778, + "rest:pulls-by-head": 182 + }, + "apiRequestsByHost": { + "ghe.example.com": 3316 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 829 + }, + "firstHour": 831, + "perHourCounts": [ + 831, + 834, + 833, + 818 + ], + "lastHourByKind": { + "pr:view": 226, + "graphql:checks": 226, + "rest:pull": 194, + "auth:status": 120, + "rest:pulls-by-head": 46, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 25, + "first15min": 222, + "steadyPerHour": 825.1, + "steadyPerMinute": 13.75, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 1.85, + "timelinePerMinute": [ + 25, + 22, + 24, + 6, + 0, + 24, + 22, + 24, + 6, + 0, + 25, + 20, + 15, + 9, + 0, + 18, + 18, + 15, + 9, + 0, + 20, + 20, + 22, + 12, + 0, + 19, + 23, + 24, + 9, + 0, + 20, + 17, + 18, + 8, + 0, + 15, + 19, + 18, + 9, + 0, + 20, + 24, + 21, + 13, + 0, + 19, + 24, + 20, + 12, + 0, + 15, + 18, + 15, + 12, + 0, + 15, + 14, + 18, + 16, + 0, + 21, + 20, + 23, + 16, + 0, + 18, + 20, + 20, + 12, + 0, + 16, + 15, + 18, + 11, + 0, + 11, + 18, + 24, + 13, + 0, + 17, + 24, + 24, + 16, + 0, + 16, + 20, + 18, + 12, + 0, + 13, + 18, + 14, + 15, + 0, + 12, + 22, + 20, + 18, + 0, + 17, + 18, + 24, + 20, + 0, + 14, + 15, + 18, + 15, + 0, + 12, + 15, + 18, + 15, + 0, + 13, + 23, + 24, + 18, + 0, + 13, + 22, + 24, + 15, + 0, + 9, + 18, + 18, + 15, + 0, + 10, + 18, + 16, + 23, + 0, + 12, + 22, + 20, + 24, + 0, + 13, + 19, + 19, + 17, + 0, + 9, + 14, + 18, + 18, + 0, + 10, + 16, + 24, + 21, + 1, + 12, + 20, + 24, + 18, + 4, + 10, + 19, + 18, + 14, + 3, + 6, + 17, + 18, + 14, + 3, + 8, + 23, + 24, + 20, + 4, + 8, + 22, + 21, + 22, + 3, + 5, + 19, + 15, + 18, + 3, + 5, + 15, + 19, + 19, + 4, + 8, + 19, + 24, + 21, + 7, + 7, + 20, + 24, + 14, + 6, + 6, + 16, + 18, + 15, + 6, + 3, + 18, + 21, + 18, + 8, + 4, + 23, + 23, + 18, + 8, + 4, + 24, + 16, + 18, + 6, + 3, + 19, + 15, + 18, + 5, + 3, + 20, + 20, + 23, + 6, + 4, + 21, + 24, + 22, + 8, + 4, + 15, + 19, + 18, + 6 + ] + }, + "git": { + "total": 3895 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/ghes-desk-before-n50-unfocused.json b/src/main/github/__experiments__/results/ghes-desk-before-n50-unfocused.json new file mode 100644 index 00000000000..696a8ca8f57 --- /dev/null +++ b/src/main/github/__experiments__/results/ghes-desk-before-n50-unfocused.json @@ -0,0 +1,319 @@ +{ + "config": { + "scenario": "desktop-before", + "host": "ghes", + "n": 50, + "clients": 1, + "hours": 4, + "workload": "settled", + "focus": "unfocused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 3316, + "perHour": 829, + "byKind": { + "auth:status": 522, + "pr:view": 905, + "graphql:checks": 905, + "graphql:merge-metadata": 24, + "rest:pull": 778, + "rest:pulls-by-head": 182 + }, + "apiRequestsByHost": { + "ghe.example.com": 3316 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 829 + }, + "firstHour": 831, + "perHourCounts": [ + 831, + 834, + 833, + 818 + ], + "lastHourByKind": { + "pr:view": 226, + "graphql:checks": 226, + "rest:pull": 194, + "rest:pulls-by-head": 46, + "graphql:merge-metadata": 6, + "auth:status": 120 + }, + "lastHourRollingPeak60s": 25, + "first15min": 222, + "steadyPerHour": 825.1, + "steadyPerMinute": 13.75, + "rollingPeak60s": 25, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 1.86, + "timelinePerMinute": [ + 25, + 22, + 24, + 6, + 0, + 24, + 22, + 21, + 9, + 0, + 25, + 20, + 15, + 9, + 0, + 18, + 15, + 18, + 9, + 0, + 20, + 20, + 22, + 12, + 0, + 19, + 23, + 24, + 9, + 0, + 20, + 17, + 18, + 8, + 0, + 15, + 19, + 18, + 9, + 0, + 20, + 24, + 20, + 14, + 0, + 19, + 21, + 23, + 12, + 0, + 12, + 18, + 18, + 12, + 0, + 13, + 16, + 18, + 16, + 0, + 17, + 24, + 23, + 16, + 0, + 14, + 24, + 20, + 12, + 0, + 13, + 18, + 15, + 14, + 0, + 11, + 15, + 23, + 17, + 0, + 17, + 24, + 20, + 20, + 0, + 16, + 17, + 19, + 14, + 0, + 13, + 15, + 18, + 14, + 0, + 12, + 18, + 24, + 18, + 0, + 14, + 21, + 24, + 20, + 0, + 11, + 18, + 18, + 15, + 0, + 9, + 18, + 15, + 20, + 0, + 10, + 24, + 21, + 21, + 0, + 13, + 22, + 20, + 19, + 0, + 9, + 15, + 18, + 18, + 0, + 10, + 15, + 18, + 24, + 0, + 12, + 20, + 24, + 22, + 0, + 13, + 18, + 20, + 14, + 3, + 6, + 17, + 15, + 18, + 3, + 7, + 19, + 21, + 21, + 4, + 8, + 24, + 20, + 24, + 2, + 9, + 17, + 18, + 17, + 3, + 6, + 14, + 18, + 17, + 3, + 8, + 19, + 24, + 24, + 4, + 8, + 18, + 24, + 23, + 3, + 6, + 15, + 18, + 15, + 6, + 5, + 15, + 19, + 15, + 8, + 5, + 22, + 21, + 23, + 8, + 3, + 24, + 20, + 18, + 6, + 3, + 19, + 15, + 18, + 6, + 3, + 15, + 20, + 22, + 8, + 4, + 20, + 22, + 22, + 8, + 4, + 20, + 20, + 18, + 6, + 3, + 16, + 18, + 18, + 6, + 3, + 15, + 24, + 20, + 9, + 4, + 21, + 21, + 23, + 10, + 4, + 15, + 16, + 18, + 9 + ] + }, + "git": { + "total": 3895 + }, + "serve": null, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-1sel-checks-n14-c2-gate-d3.json b/src/main/github/__experiments__/results/lanes-1sel-checks-n14-c2-gate-d3.json new file mode 100644 index 00000000000..f02b324c2a8 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-1sel-checks-n14-c2-gate-d3.json @@ -0,0 +1,391 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": true, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 470, + "perHour": 156.7, + "byKind": { + "graphql:checks": 171, + "graphql:sidebar": 267, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 13 + }, + "apiRequestsByHost": { + "github.com": 470 + }, + "apiRequestsPerHourByHost": { + "github.com": 156.7 + }, + "firstHour": 192, + "perHourCounts": [ + 192, + 139, + 139 + ], + "lastHourByKind": { + "rest:pulls-by-head": 3, + "graphql:sidebar": 71, + "graphql:checks": 59, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 5, + "first15min": 66, + "steadyPerHour": 146.9, + "steadyPerMinute": 2.45, + "rollingPeak60s": 11, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 2.21, + "timelinePerMinute": [ + 11, + 8, + 4, + 0, + 0, + 9, + 5, + 3, + 4, + 0, + 10, + 2, + 4, + 4, + 2, + 4, + 4, + 6, + 3, + 2, + 3, + 4, + 2, + 4, + 2, + 4, + 2, + 4, + 2, + 5, + 3, + 4, + 4, + 3, + 5, + 3, + 3, + 2, + 2, + 1, + 2, + 3, + 2, + 2, + 3, + 2, + 3, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 3, + 2, + 5, + 3, + 2, + 4, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 3, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 5, + 2, + 4, + 5, + 3, + 3, + 2, + 2, + 2, + 2, + 1, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 3, + 3, + 4, + 3, + 5, + 2, + 3 + ] + }, + "git": { + "total": 549 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 443, + "maxStartsPer5min": 20, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 178, + "visible": 102, + "selected-borrowed": 163 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 178, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 178 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 178 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 163, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 28 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 28 + }, + "peak60s": 2, + "peak5min": 5 + }, + "visible": { + "starts": 102, + "overdueAtStartS": { + "p50": 0, + "p90": 90, + "max": 171 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 90, + "max": 171 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 341, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 443, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 56, + "visible": 132 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 170, + "medianGapS": 60, + "maxGapS": 239 + }, + { + "identity": "checks:feat/wt-2", + "starts": 171, + "medianGapS": 60, + "maxGapS": 189 + } + ], + "cacheHits": 25, + "lastGoodServedOverBudget": 152, + "deferredCold": 36, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2352, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1600, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 443, + "p50": 0, + "max": 178 + } + }, + "clientRefreshCalls": 720, + "clientFailures": 0, + "checksCalls": 372, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-1sel-checks-n50-c2-gate-d3.json b/src/main/github/__experiments__/results/lanes-1sel-checks-n50-c2-gate-d3.json new file mode 100644 index 00000000000..50f7bc961b7 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-1sel-checks-n50-c2-gate-d3.json @@ -0,0 +1,396 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 2, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": true, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 618, + "perHour": 206, + "byKind": { + "graphql:checks": 146, + "graphql:sidebar": 393, + "graphql:merge-metadata": 20, + "rest:pulls-by-head": 59 + }, + "apiRequestsByHost": { + "github.com": 618 + }, + "apiRequestsPerHourByHost": { + "github.com": 206 + }, + "firstHour": 267, + "perHourCounts": [ + 267, + 184, + 167 + ], + "lastHourByKind": { + "graphql:sidebar": 93, + "graphql:checks": 58, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 7, + "first15min": 69, + "steadyPerHour": 199.6, + "steadyPerMinute": 3.33, + "rollingPeak60s": 11, + "rollingPeak60sSteady": 10, + "worstPeakToMean15min": 2.76, + "timelinePerMinute": [ + 11, + 9, + 4, + 0, + 0, + 9, + 8, + 5, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 8, + 10, + 4, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 9, + 8, + 5, + 0, + 0, + 10, + 8, + 5, + 0, + 0, + 9, + 8, + 5, + 0, + 0, + 9, + 9, + 4, + 0, + 0, + 9, + 9, + 5, + 0, + 0, + 10, + 8, + 3, + 1, + 0, + 4, + 5, + 6, + 2, + 2, + 7, + 6, + 7, + 2, + 2, + 4, + 6, + 4, + 3, + 2, + 3, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 3, + 5, + 2, + 4, + 7, + 6, + 4, + 3, + 2, + 2, + 6, + 5, + 3, + 1, + 2, + 2, + 4, + 2, + 2, + 3, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 2, + 2, + 4, + 2, + 5, + 3, + 2, + 3, + 3, + 2, + 2, + 2, + 2, + 3, + 3, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 1, + 3, + 4, + 2, + 7, + 3, + 5, + 4, + 4, + 6, + 2, + 6, + 5, + 2, + 3, + 3, + 3, + 3, + 2, + 2, + 2, + 2, + 4, + 3, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 3, + 4, + 3, + 3, + 2, + 4, + 3, + 2 + ] + }, + "git": { + "total": 858 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 563, + "maxStartsPer5min": 20, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 180, + "visible": 276, + "selected-borrowed": 107 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 180, + "overdueAtStartS": { + "p50": 0, + "p90": 129, + "max": 178 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 129, + "max": 178 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 107, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 20 + }, + "peak60s": 2, + "peak5min": 5 + }, + "visible": { + "starts": 276, + "overdueAtStartS": { + "p50": 300, + "p90": 730, + "max": 942 + }, + "waitedSinceFirstRefusalS": { + "p50": 300, + "p90": 730, + "max": 942 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 287, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 563, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 120, + "visible": 911 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 141, + "medianGapS": 60, + "maxGapS": 239 + }, + { + "identity": "checks:feat/wt-2", + "starts": 146, + "medianGapS": 60, + "maxGapS": 230 + } + ], + "cacheHits": 66, + "lastGoodServedOverBudget": 804, + "deferredCold": 227, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2916, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 545, + "p50": 0, + "max": 942 + }, + "2": { + "admits": 18, + "p50": 360, + "max": 440 + } + }, + "clientRefreshCalls": 1868, + "clientFailures": 0, + "checksCalls": 348, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-2sel-checks-n14-c2-gate-d3.json b/src/main/github/__experiments__/results/lanes-2sel-checks-n14-c2-gate-d3.json new file mode 100644 index 00000000000..f109fe1c36a --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-2sel-checks-n14-c2-gate-d3.json @@ -0,0 +1,408 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 2, + "selectedRunning": false, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 466, + "perHour": 155.3, + "byKind": { + "graphql:checks": 170, + "graphql:sidebar": 266, + "graphql:merge-metadata": 18, + "rest:pulls-by-head": 12 + }, + "apiRequestsByHost": { + "github.com": 466 + }, + "apiRequestsPerHourByHost": { + "github.com": 155.3 + }, + "firstHour": 194, + "perHourCounts": [ + 194, + 135, + 137 + ], + "lastHourByKind": { + "graphql:sidebar": 71, + "graphql:checks": 59, + "rest:pulls-by-head": 2, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 6, + "first15min": 66, + "steadyPerHour": 145.5, + "steadyPerMinute": 2.42, + "rollingPeak60s": 13, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 2.73, + "timelinePerMinute": [ + 13, + 7, + 3, + 0, + 0, + 10, + 6, + 4, + 1, + 0, + 10, + 5, + 4, + 3, + 0, + 7, + 4, + 4, + 5, + 1, + 6, + 4, + 3, + 1, + 2, + 4, + 5, + 2, + 2, + 2, + 7, + 4, + 1, + 4, + 4, + 4, + 4, + 1, + 2, + 0, + 5, + 4, + 1, + 2, + 0, + 4, + 4, + 2, + 1, + 0, + 3, + 5, + 2, + 1, + 0, + 3, + 4, + 2, + 1, + 1, + 5, + 5, + 2, + 3, + 1, + 5, + 4, + 2, + 1, + 1, + 2, + 4, + 3, + 1, + 1, + 2, + 4, + 2, + 1, + 1, + 2, + 4, + 3, + 1, + 1, + 2, + 4, + 2, + 1, + 1, + 2, + 4, + 1, + 2, + 1, + 3, + 4, + 1, + 1, + 1, + 4, + 4, + 1, + 0, + 0, + 5, + 4, + 2, + 0, + 0, + 4, + 4, + 2, + 0, + 1, + 6, + 4, + 2, + 0, + 1, + 3, + 4, + 6, + 3, + 0, + 3, + 5, + 3, + 0, + 0, + 3, + 4, + 3, + 0, + 0, + 3, + 5, + 3, + 0, + 0, + 3, + 4, + 3, + 0, + 0, + 3, + 4, + 4, + 0, + 0, + 3, + 4, + 3, + 0, + 0, + 4, + 4, + 4, + 0, + 0, + 3, + 4, + 3, + 0, + 0, + 3, + 4, + 3, + 0, + 0, + 4, + 4, + 3, + 1, + 1, + 3, + 3, + 4, + 2, + 1 + ] + }, + "git": { + "total": 547 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 441, + "maxStartsPer5min": 20, + "maxStartsPer60s": 10, + "admits": { + "selected-own": 180, + "visible": 93, + "selected-borrowed": 168 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 180, + "overdueAtStartS": { + "p50": 77, + "p90": 179, + "max": 230 + }, + "waitedSinceFirstRefusalS": { + "p50": 77, + "p90": 179, + "max": 230 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 168, + "overdueAtStartS": { + "p50": 10, + "p90": 128, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 10, + "p90": 128, + "max": 169 + }, + "peak60s": 3, + "peak5min": 5 + }, + "visible": { + "starts": 93, + "overdueAtStartS": { + "p50": 11, + "p90": 99, + "max": 215 + }, + "waitedSinceFirstRefusalS": { + "p50": 11, + "p90": 99, + "max": 215 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 348, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 441, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 334, + "visible": 147 + }, + "visibleIdentities": { + "seen": 14, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 110 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 99, + "medianGapS": 80, + "maxGapS": 240 + }, + { + "identity": "checks:feat/wt-2", + "starts": 87, + "medianGapS": 81, + "maxGapS": 270 + }, + { + "identity": "pr:feat/wt-7", + "starts": 92, + "medianGapS": 80, + "maxGapS": 275 + }, + { + "identity": "checks:feat/wt-7", + "starts": 83, + "medianGapS": 80, + "maxGapS": 290 + } + ], + "cacheHits": 59, + "lastGoodServedOverBudget": 447, + "deferredCold": 34, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 227, + "p50": 10, + "max": 215 + }, + "2": { + "admits": 214, + "p50": 20, + "max": 230 + } + }, + "clientRefreshCalls": 721, + "clientFailures": 0, + "checksCalls": 335, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d2.json b/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d2.json new file mode 100644 index 00000000000..ec413bd3158 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d2.json @@ -0,0 +1,393 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 2, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d2", + "selectedIds": 2, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 616, + "perHour": 205.3, + "byKind": { + "graphql:sidebar": 546, + "graphql:merge-metadata": 20, + "rest:pulls-by-head": 50 + }, + "apiRequestsByHost": { + "github.com": 616 + }, + "apiRequestsPerHourByHost": { + "github.com": 205.3 + }, + "firstHour": 223, + "perHourCounts": [ + 223, + 212, + 181 + ], + "lastHourByKind": { + "graphql:sidebar": 163, + "rest:pulls-by-head": 12, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 7, + "first15min": 62, + "steadyPerHour": 201.5, + "steadyPerMinute": 3.36, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 1.84, + "timelinePerMinute": [ + 11, + 9, + 2, + 2, + 0, + 4, + 8, + 3, + 2, + 2, + 3, + 7, + 3, + 3, + 3, + 2, + 6, + 3, + 3, + 3, + 4, + 4, + 5, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 4, + 3, + 4, + 5, + 3, + 4, + 3, + 4, + 3, + 3, + 5, + 4, + 4, + 3, + 4, + 3, + 4, + 4, + 3, + 3, + 5, + 3, + 4, + 4, + 3, + 3, + 4, + 3, + 3, + 4, + 4, + 4, + 5, + 3, + 3, + 3, + 3, + 4, + 3, + 4, + 5, + 3, + 3, + 5, + 3, + 3, + 4, + 3, + 4, + 4, + 2, + 3, + 3, + 3, + 4, + 3, + 4, + 4, + 3, + 4, + 3, + 4, + 4, + 3, + 4, + 3, + 4, + 3, + 3, + 4, + 3, + 4, + 5, + 3, + 3, + 3, + 4, + 3, + 3, + 3, + 4, + 4, + 3, + 6, + 3, + 3, + 3, + 4, + 3, + 4, + 3, + 6, + 3, + 3, + 4, + 3, + 4, + 3, + 4, + 3, + 3, + 3, + 4, + 2, + 2, + 2, + 2, + 2, + 2, + 5, + 3, + 4, + 2, + 4, + 5, + 3, + 4, + 2, + 3, + 5, + 4, + 4, + 3, + 4, + 3, + 4, + 4, + 3, + 3, + 4, + 3, + 4, + 4, + 2, + 3, + 3, + 2, + 2, + 1, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + }, + "git": { + "total": 1152 + }, + "serve": { + "gate": "d2", + "upstreamStarts": 566, + "maxStartsPer5min": 20, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 354, + "visible": 212 + }, + "lanes": { + "gate": "d2", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 354, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 56 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 25 + }, + "peak60s": 2, + "peak5min": 10 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 212, + "overdueAtStartS": { + "p50": 928, + "p90": 1766, + "max": 2020 + }, + "waitedSinceFirstRefusalS": { + "p50": 928, + "p90": 1766, + "max": 2020 + }, + "peak60s": 6, + "peak5min": 12 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 354, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 566, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 2, + "visible": 3239 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 1810 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 177, + "medianGapS": 61, + "maxGapS": 117 + }, + { + "identity": "pr:feat/wt-7", + "starts": 177, + "medianGapS": 61, + "maxGapS": 93 + } + ], + "cacheHits": 103, + "lastGoodServedOverBudget": 2656, + "deferredCold": 585, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2400, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 226, + "p50": 0, + "max": 2010 + }, + "2": { + "admits": 340, + "p50": 0, + "max": 2020 + } + }, + "clientRefreshCalls": 4117, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d3.json b/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d3.json new file mode 100644 index 00000000000..aae73b20f63 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-2sel-n50-c2-gate-d3.json @@ -0,0 +1,394 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 2, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 2, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 610, + "perHour": 203.3, + "byKind": { + "graphql:sidebar": 531, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 60 + }, + "apiRequestsByHost": { + "github.com": 610 + }, + "apiRequestsPerHourByHost": { + "github.com": 203.3 + }, + "firstHour": 269, + "perHourCounts": [ + 269, + 175, + 166 + ], + "lastHourByKind": { + "graphql:sidebar": 147, + "rest:pulls-by-head": 13, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 7, + "first15min": 68, + "steadyPerHour": 197.1, + "steadyPerMinute": 3.28, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 10, + "worstPeakToMean15min": 2.76, + "timelinePerMinute": [ + 11, + 9, + 4, + 0, + 0, + 9, + 8, + 5, + 0, + 0, + 9, + 9, + 4, + 0, + 0, + 8, + 10, + 4, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 9, + 8, + 5, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 9, + 9, + 4, + 0, + 0, + 9, + 9, + 5, + 0, + 0, + 9, + 9, + 4, + 0, + 0, + 9, + 7, + 2, + 2, + 2, + 3, + 7, + 7, + 3, + 2, + 4, + 8, + 5, + 4, + 3, + 3, + 6, + 2, + 2, + 2, + 3, + 2, + 1, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 4, + 7, + 4, + 3, + 2, + 8, + 6, + 4, + 4, + 1, + 2, + 4, + 2, + 2, + 2, + 4, + 2, + 3, + 2, + 2, + 3, + 2, + 2, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 3, + 2, + 2, + 2, + 2, + 4, + 4, + 2, + 3, + 2, + 1, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 4, + 3, + 3, + 4, + 3, + 4, + 6, + 4, + 4, + 3, + 3, + 6, + 6, + 3, + 2, + 2, + 2, + 3, + 2, + 2, + 3, + 4, + 2, + 2, + 3, + 2, + 3, + 2, + 2, + 4, + 3, + 3, + 2, + 2, + 2, + 3, + 3, + 2, + 3 + ] + }, + "git": { + "total": 1137 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 556, + "maxStartsPer5min": 20, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 178, + "visible": 269, + "selected-borrowed": 109 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 178, + "overdueAtStartS": { + "p50": 0, + "p90": 132, + "max": 162 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 132, + "max": 162 + }, + "peak60s": 2, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 109, + "overdueAtStartS": { + "p50": 0, + "p90": 10, + "max": 127 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 10, + "max": 127 + }, + "peak60s": 2, + "peak5min": 5 + }, + "visible": { + "starts": 269, + "overdueAtStartS": { + "p50": 259, + "p90": 730, + "max": 920 + }, + "waitedSinceFirstRefusalS": { + "p50": 259, + "p90": 730, + "max": 920 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 287, + "peak60s": 2, + "peak5min": 10 + }, + "budgeted": { + "starts": 556, + "peak60s": 8, + "peak5min": 20 + }, + "refusals": { + "selected": 76, + "visible": 969 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 920 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 143, + "medianGapS": 61, + "maxGapS": 215 + }, + { + "identity": "pr:feat/wt-7", + "starts": 144, + "medianGapS": 61, + "maxGapS": 223 + } + ], + "cacheHits": 94, + "lastGoodServedOverBudget": 824, + "deferredCold": 221, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3131, + "rpcSimulatedMs": { + "p50": 0, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 279, + "p50": 10, + "max": 920 + }, + "2": { + "admits": 277, + "p50": 0, + "max": 822 + } + }, + "clientRefreshCalls": 1958, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-4sel-checks-n20-c4-gate-d3.json b/src/main/github/__experiments__/results/lanes-4sel-checks-n20-c4-gate-d3.json new file mode 100644 index 00000000000..f17c85d8778 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-4sel-checks-n20-c4-gate-d3.json @@ -0,0 +1,442 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 20, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 4, + "selectedRunning": false, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 500, + "perHour": 166.7, + "byKind": { + "graphql:checks": 169, + "graphql:sidebar": 285, + "graphql:merge-metadata": 20, + "rest:pulls-by-head": 26 + }, + "apiRequestsByHost": { + "github.com": 500 + }, + "apiRequestsPerHourByHost": { + "github.com": 166.7 + }, + "firstHour": 214, + "perHourCounts": [ + 214, + 142, + 144 + ], + "lastHourByKind": { + "graphql:checks": 55, + "graphql:sidebar": 78, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 5 + }, + "lastHourRollingPeak60s": 8, + "first15min": 70, + "steadyPerHour": 156.4, + "steadyPerMinute": 2.61, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 11, + "worstPeakToMean15min": 4, + "timelinePerMinute": [ + 14, + 7, + 3, + 0, + 0, + 11, + 8, + 3, + 0, + 0, + 11, + 9, + 4, + 0, + 0, + 8, + 6, + 2, + 3, + 1, + 11, + 6, + 2, + 3, + 1, + 7, + 5, + 2, + 3, + 1, + 6, + 6, + 1, + 1, + 4, + 8, + 7, + 2, + 1, + 2, + 6, + 6, + 0, + 0, + 0, + 4, + 7, + 0, + 0, + 0, + 4, + 7, + 1, + 0, + 0, + 3, + 6, + 1, + 0, + 0, + 3, + 6, + 2, + 2, + 0, + 6, + 6, + 5, + 2, + 0, + 4, + 6, + 1, + 1, + 0, + 3, + 5, + 1, + 1, + 0, + 3, + 6, + 1, + 1, + 0, + 3, + 5, + 1, + 1, + 0, + 3, + 6, + 1, + 1, + 0, + 3, + 5, + 1, + 1, + 0, + 3, + 5, + 2, + 1, + 1, + 3, + 6, + 1, + 0, + 0, + 4, + 5, + 2, + 0, + 0, + 4, + 5, + 1, + 1, + 2, + 4, + 5, + 3, + 4, + 1, + 4, + 6, + 2, + 1, + 0, + 2, + 6, + 3, + 0, + 0, + 2, + 6, + 2, + 0, + 0, + 2, + 6, + 2, + 0, + 0, + 2, + 7, + 2, + 0, + 0, + 1, + 6, + 3, + 0, + 0, + 0, + 8, + 3, + 1, + 0, + 0, + 6, + 3, + 1, + 1, + 0, + 7, + 3, + 1, + 0, + 0, + 5, + 5, + 1, + 0, + 2, + 6, + 4, + 4, + 1 + ] + }, + "git": { + "total": 600 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 464, + "maxStartsPer5min": 20, + "maxStartsPer60s": 11, + "admits": { + "selected-own": 180, + "visible": 128, + "selected-borrowed": 156 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 180, + "overdueAtStartS": { + "p50": 230, + "p90": 250, + "max": 439 + }, + "waitedSinceFirstRefusalS": { + "p50": 230, + "p90": 250, + "max": 439 + }, + "peak60s": 5, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 156, + "overdueAtStartS": { + "p50": 139, + "p90": 239, + "max": 259 + }, + "waitedSinceFirstRefusalS": { + "p50": 139, + "p90": 239, + "max": 259 + }, + "peak60s": 5, + "peak5min": 5 + }, + "visible": { + "starts": 128, + "overdueAtStartS": { + "p50": 60, + "p90": 231, + "max": 347 + }, + "waitedSinceFirstRefusalS": { + "p50": 60, + "p90": 231, + "max": 347 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 336, + "peak60s": 7, + "peak5min": 10 + }, + "budgeted": { + "starts": 464, + "peak60s": 11, + "peak5min": 20 + }, + "refusals": { + "selected": 492, + "visible": 462 + }, + "visibleIdentities": { + "seen": 20, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 310 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 59, + "medianGapS": 227, + "maxGapS": 459 + }, + { + "identity": "checks:feat/wt-2", + "starts": 41, + "medianGapS": 300, + "maxGapS": 480 + }, + { + "identity": "pr:feat/wt-7", + "starts": 50, + "medianGapS": 280, + "maxGapS": 499 + }, + { + "identity": "checks:feat/wt-7", + "starts": 41, + "medianGapS": 290, + "maxGapS": 325 + }, + { + "identity": "pr:feat/wt-12", + "starts": 47, + "medianGapS": 290, + "maxGapS": 310 + }, + { + "identity": "checks:feat/wt-12", + "starts": 42, + "medianGapS": 290, + "maxGapS": 310 + }, + { + "identity": "pr:feat/wt-17", + "starts": 50, + "medianGapS": 269, + "maxGapS": 319 + }, + { + "identity": "checks:feat/wt-17", + "starts": 45, + "medianGapS": 290, + "maxGapS": 500 + } + ], + "cacheHits": 168, + "lastGoodServedOverBudget": 877, + "deferredCold": 77, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2782, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1369, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 120, + "p50": 170, + "max": 419 + }, + "2": { + "admits": 108, + "p50": 220, + "max": 437 + }, + "3": { + "admits": 121, + "p50": 220, + "max": 250 + }, + "4": { + "admits": 115, + "p50": 219, + "max": 439 + } + }, + "clientRefreshCalls": 1505, + "clientFailures": 0, + "checksCalls": 411, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d2.json b/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d2.json new file mode 100644 index 00000000000..54e451c9c68 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d2.json @@ -0,0 +1,440 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d2", + "selectedIds": 4, + "selectedRunning": false, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 755, + "perHour": 251.7, + "byKind": { + "graphql:checks": 425, + "graphql:sidebar": 297, + "graphql:merge-metadata": 30, + "rest:pulls-by-head": 3 + }, + "apiRequestsByHost": { + "github.com": 755 + }, + "apiRequestsPerHourByHost": { + "github.com": 251.7 + }, + "firstHour": 253, + "perHourCounts": [ + 253, + 248, + 251 + ], + "lastHourByKind": { + "graphql:checks": 147, + "graphql:sidebar": 96, + "graphql:merge-metadata": 11 + }, + "lastHourRollingPeak60s": 11, + "first15min": 65, + "steadyPerHour": 250.9, + "steadyPerMinute": 4.18, + "rollingPeak60s": 16, + "rollingPeak60sSteady": 11, + "worstPeakToMean15min": 2.62, + "timelinePerMinute": [ + 15, + 9, + 0, + 0, + 0, + 8, + 11, + 1, + 0, + 0, + 9, + 9, + 3, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 11, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 9, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 11, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 9, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 11, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 9, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 10, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 9, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 9, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 11, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 9, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 10, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 9, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 9, + 8, + 4, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 11, + 8, + 4, + 0, + 0 + ] + }, + "git": { + "total": 597 + }, + "serve": { + "gate": "d2", + "upstreamStarts": 723, + "maxStartsPer5min": 20, + "maxStartsPer60s": 14, + "admits": { + "selected-own": 711, + "visible": 12 + }, + "lanes": { + "gate": "d2", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 711, + "overdueAtStartS": { + "p50": 10, + "p90": 169, + "max": 190 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 160 + }, + "peak60s": 8, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 12, + "overdueAtStartS": { + "p50": 60, + "p90": 390, + "max": 690 + }, + "waitedSinceFirstRefusalS": { + "p50": 60, + "p90": 390, + "max": 690 + }, + "peak60s": 6, + "peak5min": 8 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 711, + "peak60s": 8, + "peak5min": 20 + }, + "budgeted": { + "starts": 723, + "peak60s": 14, + "peak5min": 20 + }, + "refusals": { + "selected": 863, + "visible": 7767 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 34, + "worstWaitFromFirstSeenToFirstStartS": 10800 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 72, + "medianGapS": 71, + "maxGapS": 269 + }, + { + "identity": "checks:feat/wt-2", + "starts": 107, + "medianGapS": 60, + "maxGapS": 240 + }, + { + "identity": "pr:feat/wt-7", + "starts": 72, + "medianGapS": 81, + "maxGapS": 249 + }, + { + "identity": "checks:feat/wt-7", + "starts": 106, + "medianGapS": 60, + "maxGapS": 230 + }, + { + "identity": "pr:feat/wt-12", + "starts": 71, + "medianGapS": 219, + "maxGapS": 280 + }, + { + "identity": "checks:feat/wt-12", + "starts": 106, + "medianGapS": 60, + "maxGapS": 250 + }, + { + "identity": "pr:feat/wt-17", + "starts": 71, + "medianGapS": 209, + "maxGapS": 250 + }, + { + "identity": "checks:feat/wt-17", + "starts": 106, + "medianGapS": 60, + "maxGapS": 240 + } + ], + "cacheHits": 155, + "lastGoodServedOverBudget": 1776, + "deferredCold": 6854, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 1200, + "rpcSimulatedMs": { + "p50": 0, + "p99": 400, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 184, + "p50": 0, + "max": 148 + }, + "2": { + "admits": 180, + "p50": 0, + "max": 690 + }, + "3": { + "admits": 180, + "p50": 0, + "max": 160 + }, + "4": { + "admits": 179, + "p50": 0, + "max": 380 + } + }, + "clientRefreshCalls": 8920, + "clientFailures": 0, + "checksCalls": 605, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d3.json b/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d3.json new file mode 100644 index 00000000000..d16c0b9c75a --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-4sel-checks-n50-c4-gate-d3.json @@ -0,0 +1,442 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 4, + "selectedRunning": false, + "checks": true, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 603, + "perHour": 201, + "byKind": { + "graphql:checks": 145, + "graphql:sidebar": 380, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 59 + }, + "apiRequestsByHost": { + "github.com": 603 + }, + "apiRequestsPerHourByHost": { + "github.com": 201 + }, + "firstHour": 268, + "perHourCounts": [ + 268, + 173, + 162 + ], + "lastHourByKind": { + "graphql:sidebar": 89, + "graphql:checks": 57, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 8, + "first15min": 68, + "steadyPerHour": 194.5, + "steadyPerMinute": 3.24, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 13, + "worstPeakToMean15min": 3.43, + "timelinePerMinute": [ + 14, + 7, + 3, + 0, + 0, + 12, + 6, + 4, + 0, + 0, + 12, + 7, + 3, + 0, + 0, + 12, + 7, + 4, + 0, + 0, + 13, + 4, + 6, + 0, + 0, + 10, + 6, + 6, + 0, + 0, + 12, + 5, + 6, + 0, + 0, + 11, + 5, + 5, + 0, + 0, + 11, + 8, + 5, + 0, + 0, + 10, + 6, + 6, + 0, + 0, + 9, + 5, + 1, + 2, + 2, + 9, + 5, + 4, + 3, + 2, + 10, + 4, + 5, + 1, + 1, + 7, + 4, + 2, + 0, + 0, + 7, + 3, + 1, + 0, + 0, + 5, + 3, + 2, + 0, + 0, + 5, + 5, + 2, + 1, + 0, + 6, + 4, + 8, + 4, + 1, + 4, + 7, + 5, + 2, + 3, + 4, + 6, + 0, + 0, + 0, + 4, + 7, + 0, + 0, + 1, + 4, + 5, + 1, + 0, + 1, + 5, + 7, + 1, + 0, + 1, + 4, + 6, + 1, + 0, + 3, + 3, + 7, + 1, + 0, + 0, + 3, + 5, + 4, + 0, + 0, + 1, + 5, + 5, + 0, + 0, + 1, + 5, + 3, + 2, + 0, + 1, + 8, + 5, + 3, + 4, + 3, + 6, + 3, + 1, + 3, + 2, + 7, + 7, + 3, + 1, + 2, + 4, + 3, + 0, + 1, + 2, + 5, + 3, + 0, + 2, + 2, + 5, + 3, + 1, + 2, + 2, + 5, + 3, + 2, + 0, + 4, + 5, + 3, + 1, + 0 + ] + }, + "git": { + "total": 832 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 549, + "maxStartsPer5min": 20, + "maxStartsPer60s": 11, + "admits": { + "selected-own": 180, + "visible": 259, + "selected-borrowed": 110 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 180, + "overdueAtStartS": { + "p50": 260, + "p90": 510, + "max": 524 + }, + "waitedSinceFirstRefusalS": { + "p50": 260, + "p90": 510, + "max": 524 + }, + "peak60s": 5, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 110, + "overdueAtStartS": { + "p50": 0, + "p90": 250, + "max": 510 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 250, + "max": 510 + }, + "peak60s": 5, + "peak5min": 5 + }, + "visible": { + "starts": 259, + "overdueAtStartS": { + "p50": 252, + "p90": 700, + "max": 910 + }, + "waitedSinceFirstRefusalS": { + "p50": 252, + "p90": 700, + "max": 910 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 290, + "peak60s": 7, + "peak5min": 10 + }, + "budgeted": { + "starts": 549, + "peak60s": 11, + "peak5min": 20 + }, + "refusals": { + "selected": 404, + "visible": 1949 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 910 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 36, + "medianGapS": 310, + "maxGapS": 580 + }, + { + "identity": "checks:feat/wt-2", + "starts": 37, + "medianGapS": 300, + "maxGapS": 575 + }, + { + "identity": "pr:feat/wt-7", + "starts": 36, + "medianGapS": 300, + "maxGapS": 585 + }, + { + "identity": "checks:feat/wt-7", + "starts": 37, + "medianGapS": 290, + "maxGapS": 580 + }, + { + "identity": "pr:feat/wt-12", + "starts": 39, + "medianGapS": 290, + "maxGapS": 580 + }, + { + "identity": "checks:feat/wt-12", + "starts": 37, + "medianGapS": 300, + "maxGapS": 570 + }, + { + "identity": "pr:feat/wt-17", + "starts": 37, + "medianGapS": 300, + "maxGapS": 580 + }, + { + "identity": "checks:feat/wt-17", + "starts": 34, + "medianGapS": 300, + "maxGapS": 580 + } + ], + "cacheHits": 222, + "lastGoodServedOverBudget": 1971, + "deferredCold": 382, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1400, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 149, + "p50": 220, + "max": 730 + }, + "2": { + "admits": 113, + "p50": 249, + "max": 740 + }, + "3": { + "admits": 151, + "p50": 240, + "max": 910 + }, + "4": { + "admits": 136, + "p50": 240, + "max": 754 + } + }, + "clientRefreshCalls": 3535, + "clientFailures": 0, + "checksCalls": 353, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d2.json b/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d2.json new file mode 100644 index 00000000000..29e12f67346 --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d2.json @@ -0,0 +1,414 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d2", + "selectedIds": 4, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 736, + "perHour": 245.3, + "byKind": { + "graphql:sidebar": 713, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 4 + }, + "apiRequestsByHost": { + "github.com": 736 + }, + "apiRequestsPerHourByHost": { + "github.com": 245.3 + }, + "firstHour": 249, + "perHourCounts": [ + 249, + 243, + 244 + ], + "lastHourByKind": { + "graphql:sidebar": 238, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 5, + "first15min": 66, + "steadyPerHour": 243.6, + "steadyPerMinute": 4.06, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 5, + "worstPeakToMean15min": 1.27, + "timelinePerMinute": [ + 12, + 9, + 3, + 0, + 0, + 5, + 8, + 4, + 3, + 0, + 5, + 6, + 4, + 5, + 2, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 3, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 3, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 2, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 3, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 5, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ] + }, + "git": { + "total": 1429 + }, + "serve": { + "gate": "d2", + "upstreamStarts": 714, + "maxStartsPer5min": 20, + "maxStartsPer60s": 10, + "admits": { + "selected-own": 697, + "visible": 17 + }, + "lanes": { + "gate": "d2", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 697, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 98 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 89 + }, + "peak60s": 4, + "peak5min": 20 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 17, + "overdueAtStartS": { + "p50": 80, + "p90": 710, + "max": 781 + }, + "waitedSinceFirstRefusalS": { + "p50": 80, + "p90": 710, + "max": 781 + }, + "peak60s": 6, + "peak5min": 10 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 697, + "peak60s": 4, + "peak5min": 20 + }, + "budgeted": { + "starts": 714, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 19, + "visible": 8808 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 29, + "worstWaitFromFirstSeenToFirstStartS": 10800 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 175, + "medianGapS": 61, + "maxGapS": 188 + }, + { + "identity": "pr:feat/wt-7", + "starts": 175, + "medianGapS": 61, + "maxGapS": 154 + }, + { + "identity": "pr:feat/wt-12", + "starts": 173, + "medianGapS": 61, + "maxGapS": 210 + }, + { + "identity": "pr:feat/wt-17", + "starts": 174, + "medianGapS": 61, + "maxGapS": 165 + } + ], + "cacheHits": 360, + "lastGoodServedOverBudget": 1423, + "deferredCold": 7404, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 181, + "p50": 0, + "max": 781 + }, + "2": { + "admits": 178, + "p50": 0, + "max": 710 + }, + "3": { + "admits": 177, + "p50": 0, + "max": 89 + }, + "4": { + "admits": 178, + "p50": 0, + "max": 410 + } + }, + "clientRefreshCalls": 9932, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d3.json b/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d3.json new file mode 100644 index 00000000000..97755879dfc --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-4sel-n50-c4-gate-d3.json @@ -0,0 +1,416 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 3, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 4, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 10800, + "gh": { + "spawns": 604, + "perHour": 201.3, + "byKind": { + "graphql:sidebar": 525, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 60 + }, + "apiRequestsByHost": { + "github.com": 604 + }, + "apiRequestsPerHourByHost": { + "github.com": 201.3 + }, + "firstHour": 268, + "perHourCounts": [ + 268, + 173, + 163 + ], + "lastHourByKind": { + "graphql:sidebar": 147, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 10 + }, + "lastHourRollingPeak60s": 7, + "first15min": 68, + "steadyPerHour": 194.9, + "steadyPerMinute": 3.25, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 12, + "worstPeakToMean15min": 3.05, + "timelinePerMinute": [ + 12, + 9, + 3, + 0, + 0, + 10, + 9, + 3, + 0, + 0, + 10, + 9, + 3, + 0, + 0, + 10, + 9, + 4, + 0, + 0, + 11, + 9, + 3, + 0, + 0, + 9, + 10, + 3, + 0, + 0, + 11, + 9, + 3, + 0, + 0, + 10, + 8, + 3, + 0, + 0, + 12, + 9, + 4, + 0, + 0, + 9, + 8, + 4, + 0, + 0, + 5, + 5, + 4, + 3, + 2, + 7, + 6, + 4, + 4, + 2, + 8, + 6, + 4, + 2, + 1, + 5, + 4, + 2, + 0, + 0, + 5, + 5, + 2, + 0, + 0, + 4, + 4, + 2, + 0, + 0, + 4, + 5, + 3, + 1, + 2, + 4, + 7, + 5, + 1, + 4, + 5, + 7, + 5, + 1, + 3, + 4, + 4, + 2, + 0, + 0, + 4, + 5, + 2, + 0, + 0, + 4, + 5, + 2, + 0, + 1, + 4, + 7, + 2, + 2, + 1, + 4, + 4, + 2, + 1, + 2, + 4, + 5, + 2, + 0, + 0, + 4, + 4, + 2, + 0, + 0, + 5, + 5, + 2, + 0, + 0, + 4, + 5, + 1, + 1, + 2, + 4, + 7, + 1, + 4, + 3, + 6, + 5, + 2, + 4, + 5, + 6, + 4, + 4, + 1, + 1, + 3, + 4, + 1, + 1, + 1, + 3, + 4, + 2, + 1, + 1, + 4, + 6, + 1, + 2, + 0, + 5, + 4, + 2, + 0, + 3, + 4, + 4, + 4, + 0, + 0 + ] + }, + "git": { + "total": 1125 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 551, + "maxStartsPer5min": 20, + "maxStartsPer60s": 10, + "admits": { + "selected-own": 181, + "visible": 258, + "selected-borrowed": 112 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 10800, + "lanes": { + "selected-own": { + "starts": 181, + "overdueAtStartS": { + "p50": 115, + "p90": 220, + "max": 234 + }, + "waitedSinceFirstRefusalS": { + "p50": 115, + "p90": 220, + "max": 234 + }, + "peak60s": 4, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 112, + "overdueAtStartS": { + "p50": 10, + "p90": 157, + "max": 200 + }, + "waitedSinceFirstRefusalS": { + "p50": 10, + "p90": 157, + "max": 200 + }, + "peak60s": 3, + "peak5min": 5 + }, + "visible": { + "starts": 258, + "overdueAtStartS": { + "p50": 218, + "p90": 690, + "max": 900 + }, + "waitedSinceFirstRefusalS": { + "p50": 218, + "p90": 690, + "max": 900 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 293, + "peak60s": 4, + "peak5min": 10 + }, + "budgeted": { + "starts": 551, + "peak60s": 10, + "peak5min": 20 + }, + "refusals": { + "selected": 335, + "visible": 1830 + }, + "visibleIdentities": { + "seen": 50, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 900 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 81, + "medianGapS": 80, + "maxGapS": 288 + }, + { + "identity": "pr:feat/wt-7", + "starts": 73, + "medianGapS": 157, + "maxGapS": 289 + }, + { + "identity": "pr:feat/wt-12", + "starts": 68, + "medianGapS": 189, + "maxGapS": 280 + }, + { + "identity": "pr:feat/wt-17", + "starts": 71, + "medianGapS": 157, + "maxGapS": 295 + } + ], + "cacheHits": 268, + "lastGoodServedOverBudget": 1804, + "deferredCold": 361, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 151, + "p50": 45, + "max": 801 + }, + "2": { + "admits": 151, + "p50": 139, + "max": 762 + }, + "3": { + "admits": 125, + "p50": 66, + "max": 750 + }, + "4": { + "admits": 124, + "p50": 140, + "max": 900 + } + }, + "clientRefreshCalls": 3722, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/lanes-fg-n50-c4-gate-d3.json b/src/main/github/__experiments__/results/lanes-fg-n50-c4-gate-d3.json new file mode 100644 index 00000000000..0e26f4760bd --- /dev/null +++ b/src/main/github/__experiments__/results/lanes-fg-n50-c4-gate-d3.json @@ -0,0 +1,356 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 4, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 4, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 8 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 3129, + "perHour": 1564.5, + "byKind": { + "graphql:sidebar": 3066, + "graphql:merge-metadata": 14, + "rest:pulls-by-head": 49 + }, + "apiRequestsByHost": { + "github.com": 3129 + }, + "apiRequestsPerHourByHost": { + "github.com": 1564.5 + }, + "firstHour": 1604, + "perHourCounts": [ + 1604, + 1525 + ], + "lastHourByKind": { + "graphql:sidebar": 1506, + "graphql:merge-metadata": 6, + "rest:pulls-by-head": 13 + }, + "lastHourRollingPeak60s": 35, + "first15min": 392, + "steadyPerHour": 1564, + "steadyPerMinute": 26.07, + "rollingPeak60s": 36, + "rollingPeak60sSteady": 36, + "worstPeakToMean15min": 1.34, + "timelinePerMinute": [ + 24, + 27, + 27, + 21, + 24, + 31, + 32, + 25, + 24, + 21, + 34, + 30, + 27, + 21, + 24, + 30, + 34, + 25, + 24, + 21, + 34, + 31, + 27, + 21, + 24, + 28, + 36, + 24, + 24, + 21, + 33, + 31, + 28, + 21, + 24, + 29, + 34, + 24, + 24, + 21, + 34, + 32, + 27, + 21, + 24, + 28, + 35, + 25, + 24, + 21, + 32, + 26, + 28, + 23, + 26, + 27, + 32, + 26, + 26, + 22, + 31, + 29, + 29, + 23, + 25, + 23, + 30, + 24, + 24, + 21, + 27, + 24, + 29, + 21, + 24, + 23, + 27, + 26, + 24, + 21, + 27, + 24, + 30, + 22, + 27, + 22, + 29, + 30, + 28, + 24, + 26, + 26, + 31, + 26, + 28, + 22, + 26, + 25, + 25, + 23, + 26, + 22, + 30, + 22, + 26, + 22, + 25, + 25, + 26, + 24, + 28, + 22, + 29, + 24, + 25, + 22, + 26, + 25, + 27, + 23 + ] + }, + "git": { + "total": 2253 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 3085, + "maxStartsPer5min": 134, + "maxStartsPer60s": 35, + "admits": { + "selected-own": 120, + "visible": 221, + "interactive": 2685, + "selected-borrowed": 59 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 120, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 50 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 50 + }, + "peak60s": 5, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 59, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 3, + "peak5min": 5 + }, + "visible": { + "starts": 221, + "overdueAtStartS": { + "p50": 320, + "p90": 700, + "max": 900 + }, + "waitedSinceFirstRefusalS": { + "p50": 320, + "p90": 700, + "max": 900 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 2685, + "overdueAtStartS": { + "p50": 0, + "p90": 8, + "max": 83 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 8, + "max": 83 + }, + "peak60s": 24, + "peak5min": 114 + } + }, + "selectedTotal": { + "starts": 179, + "peak60s": 6, + "peak5min": 10 + }, + "budgeted": { + "starts": 400, + "peak60s": 11, + "peak5min": 20 + }, + "refusals": { + "selected": 719, + "visible": 1606 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 900 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-2", + "starts": 711, + "medianGapS": 8, + "maxGapS": 16 + }, + { + "identity": "pr:feat/wt-7", + "starts": 726, + "medianGapS": 8, + "maxGapS": 16 + }, + { + "identity": "pr:feat/wt-12", + "starts": 703, + "medianGapS": 8, + "maxGapS": 16 + }, + { + "identity": "pr:feat/wt-17", + "starts": 724, + "medianGapS": 8, + "maxGapS": 16 + } + ], + "cacheHits": 406, + "lastGoodServedOverBudget": 1950, + "deferredCold": 375, + "replyDeadlineHits": 0, + "interactiveOverflow": 894, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 858, + "p50": 0, + "max": 900 + }, + "2": { + "admits": 737, + "p50": 0, + "max": 411 + }, + "3": { + "admits": 745, + "p50": 0, + "max": 801 + }, + "4": { + "admits": 745, + "p50": 0, + "max": 730 + } + }, + "clientRefreshCalls": 2880, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 3579, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/policy-d3.probe.json b/src/main/github/__experiments__/results/policy-d3.probe.json new file mode 100644 index 00000000000..85e286070e7 --- /dev/null +++ b/src/main/github/__experiments__/results/policy-d3.probe.json @@ -0,0 +1,248 @@ +{ + "d2-3 activity and interval after 10 unchanged reads": { + "complete, empty (no CI) / open": { + "checksFinal": false, + "total": 0, + "pending": 0, + "checksStatus": "neutral", + "activity": "none", + "running": false, + "selectedIntervalMin": 30, + "visibleIntervalMin": 60 + }, + "complete, empty (no CI) / merged": { + "checksFinal": false, + "total": 0, + "pending": 0, + "checksStatus": "neutral", + "activity": "none", + "running": false, + "selectedIntervalMin": "none", + "visibleIntervalMin": "none" + }, + "incomplete, empty (partial read) / open": { + "checksFinal": false, + "total": 0, + "pending": 0, + "checksStatus": "neutral", + "activity": "incomplete", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 2 + }, + "incomplete, empty (partial read) / merged": { + "checksFinal": false, + "total": 0, + "pending": 0, + "checksStatus": "neutral", + "activity": "incomplete", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 1 + }, + "complete, all passed / open": { + "checksFinal": true, + "total": 2, + "pending": 0, + "checksStatus": "success", + "activity": "settled", + "running": false, + "selectedIntervalMin": 30, + "visibleIntervalMin": 60 + }, + "complete, all passed / merged": { + "checksFinal": true, + "total": 2, + "pending": 0, + "checksStatus": "success", + "activity": "settled", + "running": false, + "selectedIntervalMin": "none", + "visibleIntervalMin": "none" + }, + "complete, failed only / open": { + "checksFinal": true, + "total": 1, + "pending": 0, + "checksStatus": "failure", + "activity": "settled", + "running": false, + "selectedIntervalMin": 30, + "visibleIntervalMin": 60 + }, + "complete, failed only / merged": { + "checksFinal": true, + "total": 1, + "pending": 0, + "checksStatus": "failure", + "activity": "settled", + "running": false, + "selectedIntervalMin": "none", + "visibleIntervalMin": "none" + }, + "failed + running / open": { + "checksFinal": false, + "total": 2, + "pending": 1, + "checksStatus": "failure", + "activity": "running", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 2 + }, + "failed + running / merged": { + "checksFinal": false, + "total": 2, + "pending": 1, + "checksStatus": "failure", + "activity": "running", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 1 + }, + "queued only / open": { + "checksFinal": false, + "total": 1, + "pending": 1, + "checksStatus": "pending", + "activity": "running", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 2 + }, + "queued only / merged": { + "checksFinal": false, + "total": 1, + "pending": 1, + "checksStatus": "pending", + "activity": "running", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 1 + }, + "awaiting approval / open": { + "checksFinal": false, + "total": 2, + "pending": 0, + "checksStatus": "failure", + "activity": "awaiting-approval", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 2 + }, + "awaiting approval / merged": { + "checksFinal": false, + "total": 2, + "pending": 0, + "checksStatus": "failure", + "activity": "awaiting-approval", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 1 + }, + "incomplete, passed so far / open": { + "checksFinal": false, + "total": 1, + "pending": 0, + "checksStatus": "success", + "activity": "incomplete", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 2 + }, + "incomplete, passed so far / merged": { + "checksFinal": false, + "total": 1, + "pending": 0, + "checksStatus": "success", + "activity": "incomplete", + "running": true, + "selectedIntervalMin": 1, + "visibleIntervalMin": 1 + } + }, + "fixed caps ladder": { + "selectedMinutes": [ + 1, + 2, + 4, + 8, + 16, + 30, + 30, + 30, + 30 + ], + "visibleMinutes": [ + 2, + 4, + 8, + 16, + 32, + 60, + 60, + 60, + 60 + ], + "afterChangeVisibleMin": 2, + "selectedBeforeResetMin": 4, + "selectedAfterResetMin": 1, + "jitterNeverLengthens": true, + "noPRSelectedVisibleMinutes": [ + [ + 1, + 15 + ], + [ + 2, + 30 + ], + [ + 4, + 60 + ], + [ + 8, + 60 + ] + ] + }, + "stuck check decay": { + "0 min": { + "visibleMin": 2, + "selectedMin": 1 + }, + "29 min": { + "visibleMin": 2, + "selectedMin": 1 + }, + "31 min": { + "visibleMin": 4, + "selectedMin": 1 + }, + "41 min": { + "visibleMin": 8, + "selectedMin": 1 + }, + "51 min": { + "visibleMin": 16, + "selectedMin": 1 + }, + "61 min": { + "visibleMin": 32, + "selectedMin": 1 + }, + "71 min": { + "visibleMin": 60, + "selectedMin": 1 + }, + "90 min": { + "visibleMin": 60, + "selectedMin": 1 + }, + "180 min": { + "visibleMin": 60, + "selectedMin": 1 + } + } +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/rate-limit-d3.probe.json b/src/main/github/__experiments__/results/rate-limit-d3.probe.json new file mode 100644 index 00000000000..40af7a07813 --- /dev/null +++ b/src/main/github/__experiments__/results/rate-limit-d3.probe.json @@ -0,0 +1,133 @@ +{ + "d2-4 expired resource + headerless reads": { + "today": { + "probes": 51, + "probeFailures": 0, + "blocked": 89, + "admitted": 13, + "staleResponsesIgnored": 0, + "admittedAfterRollover": 11, + "serverRemainingAtEnd": 49 + }, + "d2": { + "probes": 0, + "probeFailures": 0, + "blocked": 0, + "admitted": 102, + "staleResponsesIgnored": 0, + "admittedAfterRollover": 100, + "serverRemainingAtEnd": 0 + }, + "d3": { + "probes": 1, + "probeFailures": 0, + "blocked": 89, + "admitted": 13, + "staleResponsesIgnored": 0, + "admittedAfterRollover": 11, + "serverRemainingAtEnd": 49 + } + }, + "d2-4 mixed: fresh core, unknown graphql": { + "d2": { + "probes": 0, + "probeFailures": 0, + "blocked": 0, + "admitted": 20, + "staleResponsesIgnored": 0, + "coreRemainingKept": 4900 + }, + "d3": { + "probes": 1, + "probeFailures": 0, + "blocked": 14, + "admitted": 6, + "staleResponsesIgnored": 0, + "coreRemainingKept": 4900 + } + }, + "probe volume over 3 h (540 reads)": { + "headerBearingOnly": { + "today": { + "probes": 270, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d2": { + "probes": 0, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d3": { + "probes": 0, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + } + }, + "headerlessOnly": { + "today": { + "probes": 270, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d2": { + "probes": 1, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d3": { + "probes": 4, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + } + }, + "mixed": { + "today": { + "probes": 270, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d2": { + "probes": 1, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + }, + "d3": { + "probes": 4, + "probeFailures": 0, + "blocked": 0, + "admitted": 540, + "staleResponsesIgnored": 0 + } + } + }, + "refresh failure, credential switch, ordering": { + "probes": 6, + "probeFailures": 5, + "blocked": 0, + "admitted": 31, + "staleResponsesIgnored": 2, + "admittedWhileFailing": 30, + "probesWhileFailing": 5, + "knownAfterRecovery": 5000, + "afterSwitch": null, + "orderedRemaining": 4000, + "orderedResetAt": 2000000000 + } +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/scheduler-d3.probe.json b/src/main/github/__experiments__/results/scheduler-d3.probe.json new file mode 100644 index 00000000000..28679a56d48 --- /dev/null +++ b/src/main/github/__experiments__/results/scheduler-d3.probe.json @@ -0,0 +1,204 @@ +{ + "d2-1 hint vs no-timer (existing successful cache)": { + "base": { + "refreshCallsAfterStop": [] + }, + "d2": { + "refreshCallsAfterStop": [ + 300000 + ] + }, + "d3": { + "refreshCallsAfterStop": [] + } + }, + "d2-1 hint vs no-timer (cold deferred)": { + "base": { + "refreshCalls": [ + 0 + ] + }, + "d2": { + "refreshCalls": [ + 0, + 200000 + ] + }, + "d3": { + "refreshCalls": [ + 0 + ] + } + }, + "d2-1 hint honoured while valid, retired on speed-up": { + "base": { + "callsWhileHinted": [ + 60000 + ], + "callsAfterHintRetired": [ + 120000, + 180000 + ] + }, + "d2": { + "callsWhileHinted": [], + "callsAfterHintRetired": [ + 100000, + 160000 + ] + }, + "d3": { + "callsWhileHinted": [], + "callsAfterHintRetired": [ + 100000, + 160000 + ] + } + }, + "d2-1 hint store: late reply, newer data, identity change, explicit null": { + "installed": false, + "valid": 1300000, + "hostSaysNoTimer": null + }, + "r-c4-1 stale failed completion (B interval none)": { + "base": { + "readsWithin55s": [ + "A@0" + ], + "readsWithin30min": [ + "A@0", + "B@63000" + ] + }, + "d2": { + "readsWithin55s": [ + "A@0" + ], + "readsWithin30min": [ + "A@0", + "B@63000" + ] + }, + "d3": { + "readsWithin55s": [ + "A@0", + "B@10000" + ], + "readsWithin30min": [ + "A@0", + "B@10000" + ] + } + }, + "r-c4-1 stale failed completion (B interval 120 s)": { + "base": { + "readsWithin55s": [ + "A@0" + ], + "readsWithin30min": [ + "A@0", + "B@123000", + "B@243000", + "B@363000", + "B@483000", + "B@603000", + "B@723000", + "B@843000", + "B@963000", + "B@1083000", + "B@1203000", + "B@1323000", + "B@1443000", + "B@1563000", + "B@1683000", + "B@1803000" + ] + }, + "d2": { + "readsWithin55s": [ + "A@0" + ], + "readsWithin30min": [ + "A@0", + "B@123000", + "B@243000", + "B@363000", + "B@483000", + "B@603000", + "B@723000", + "B@843000", + "B@963000", + "B@1083000", + "B@1203000", + "B@1323000", + "B@1443000", + "B@1563000", + "B@1683000", + "B@1803000" + ] + }, + "d3": { + "readsWithin55s": [ + "A@0", + "B@10000" + ], + "readsWithin30min": [ + "A@0", + "B@10000", + "B@130000", + "B@250000", + "B@370000", + "B@490000", + "B@610000", + "B@730000", + "B@850000", + "B@970000", + "B@1090000", + "B@1210000", + "B@1330000", + "B@1450000", + "B@1570000", + "B@1690000", + "B@1810000" + ] + } + }, + "r-c4-3 foreground freshness (hinted selected target, stopped target, focus-only)": { + "base": { + "onFirstShow": [ + "selected@0s", + "merged@0s" + ], + "onReturnAfter90s": [ + "selected@91s", + "merged@91s" + ], + "onFocusOnlyAfter90s": "no foreground() entry point", + "onFocusOnlyAfter20s": "no foreground() entry point" + }, + "d2": { + "onFirstShow": [ + "selected@0s", + "merged@0s" + ], + "onReturnAfter90s": [ + "merged@91s" + ], + "onFocusOnlyAfter90s": "no foreground() entry point", + "onFocusOnlyAfter20s": "no foreground() entry point" + }, + "d3": { + "onFirstShow": [ + "selected@0s", + "merged@0s" + ], + "onReturnAfter90s": [ + "selected@91s" + ], + "onFocusOnlyAfter90s": [ + "selected@182s" + ], + "onFocusOnlyAfter20s": [] + } + } +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-ghes-n14-c2.json b/src/main/github/__experiments__/results/serve-after-ghes-n14-c2.json new file mode 100644 index 00000000000..d68cec63df5 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-ghes-n14-c2.json @@ -0,0 +1,449 @@ +{ + "config": { + "scenario": "serve-after", + "host": "ghes", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 489, + "perHour": 122.3, + "byKind": { + "auth:status": 75, + "pr:view": 131, + "graphql:checks": 131, + "graphql:merge-metadata": 16, + "rest:pull": 121, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "ghe.example.com": 489 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 122.3 + }, + "firstHour": 322, + "perHourCounts": [ + 322, + 61, + 57, + 49 + ], + "lastHourByKind": { + "auth:status": 12, + "pr:view": 11, + "graphql:checks": 11, + "graphql:merge-metadata": 3, + "rest:pull": 10, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 9, + "first15min": 155, + "steadyPerHour": 89.1, + "steadyPerMinute": 1.48, + "rollingPeak60s": 32, + "rollingPeak60sSteady": 18, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 32, + 24, + 11, + 0, + 0, + 18, + 12, + 6, + 6, + 6, + 13, + 3, + 6, + 7, + 11, + 3, + 12, + 14, + 10, + 3, + 7, + 3, + 6, + 3, + 6, + 3, + 6, + 3, + 7, + 14, + 4, + 9, + 0, + 8, + 12, + 0, + 0, + 6, + 3, + 0, + 0, + 0, + 0, + 0, + 4, + 3, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 4, + 4, + 4, + 4, + 0, + 4, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 5, + 4, + 0, + 8, + 3, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 5, + 4, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 4, + 0, + 5, + 0, + 12, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 5, + 0, + 4, + 0, + 0, + 0, + 0, + 4, + 0, + 4, + 5, + 0, + 4, + 4, + 4, + 0, + 4, + 4, + 0, + 0, + 0 + ] + }, + "git": { + "total": 417 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 137, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 124 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 124, + "overdueAtStartS": { + "p50": 0, + "p90": 70, + "max": 168 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 70, + "max": 168 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 137, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 89 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1627, + "maxGapS": 1767 + } + ], + "cacheHits": 34, + "lastGoodServedOverBudget": 52, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2238, + "rpcSimulatedMs": { + "p50": 1200, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 137, + "p50": 0, + "max": 168 + } + }, + "clientRefreshCalls": 391, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n10-c3.json b/src/main/github/__experiments__/results/serve-after-n10-c3.json new file mode 100644 index 00000000000..801e2e1f7d1 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n10-c3.json @@ -0,0 +1,448 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 10, + "clients": 3, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 125, + "perHour": 31.3, + "byKind": { + "graphql:sidebar": 95, + "graphql:merge-metadata": 15, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "github.com": 125 + }, + "apiRequestsPerHourByHost": { + "github.com": 31.3 + }, + "firstHour": 85, + "perHourCounts": [ + 85, + 15, + 13, + 12 + ], + "lastHourByKind": { + "graphql:sidebar": 8, + "graphql:merge-metadata": 2, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 3, + "first15min": 45, + "steadyPerHour": 21.3, + "steadyPerMinute": 0.36, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 7, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 4, + 6, + 1, + 0, + 3, + 5, + 2, + 0, + 2, + 0, + 3, + 0, + 5, + 3, + 3, + 0, + 2, + 0, + 2, + 0, + 3, + 0, + 2, + 0, + 2, + 0, + 2, + 0, + 6, + 2, + 0, + 0, + 3, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 208 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 101, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 88 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 88, + "overdueAtStartS": { + "p50": 0, + "p90": 30, + "max": 80 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 30, + "max": 80 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 101, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 68 + }, + "visibleIdentities": { + "seen": 9, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 80 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1697, + "maxGapS": 1764 + } + ], + "cacheHits": 39, + "lastGoodServedOverBudget": 51, + "deferredCold": 17, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 2400, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 7, + "p50": 10, + "max": 40 + }, + "3": { + "admits": 94, + "p50": 0, + "max": 80 + } + }, + "clientRefreshCalls": 398, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n14-c2-noci0.json b/src/main/github/__experiments__/results/serve-after-n14-c2-noci0.json new file mode 100644 index 00000000000..12fe9846ae1 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n14-c2-noci0.json @@ -0,0 +1,443 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": false, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 163, + "perHour": 40.8, + "byKind": { + "graphql:sidebar": 133, + "graphql:merge-metadata": 15, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "github.com": 163 + }, + "apiRequestsPerHourByHost": { + "github.com": 40.8 + }, + "firstHour": 108, + "perHourCounts": [ + 108, + 21, + 16, + 18 + ], + "lastHourByKind": { + "graphql:sidebar": 12, + "graphql:merge-metadata": 4, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 4, + "first15min": 53, + "steadyPerHour": 29.3, + "steadyPerMinute": 0.49, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 2, + 4, + 1, + 5, + 1, + 2, + 3, + 3, + 1, + 4, + 4, + 3, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 3, + 3, + 3, + 0, + 3, + 3, + 2, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 3, + 0, + 2, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 2, + 4, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 3, + 2, + 0, + 1, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 1, + 2, + 1, + 1, + 1, + 1, + 0, + 0, + 2 + ] + }, + "git": { + "total": 284 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 139, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 126 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 126, + "overdueAtStartS": { + "p50": 0, + "p90": 70, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 70, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 139, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 107 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1660, + "maxGapS": 1795 + } + ], + "cacheHits": 30, + "lastGoodServedOverBudget": 70, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2224, + "rpcSimulatedMs": { + "p50": 400, + "p99": 2018, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 139, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 409, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n14-c2-settled.json b/src/main/github/__experiments__/results/serve-after-n14-c2-settled.json new file mode 100644 index 00000000000..91b83bfbb0a --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n14-c2-settled.json @@ -0,0 +1,443 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 126, + "perHour": 31.5, + "byKind": { + "graphql:sidebar": 97, + "graphql:merge-metadata": 14, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "github.com": 126 + }, + "apiRequestsPerHourByHost": { + "github.com": 31.5 + }, + "firstHour": 68, + "perHourCounts": [ + 68, + 21, + 19, + 18 + ], + "lastHourByKind": { + "graphql:sidebar": 12, + "graphql:merge-metadata": 4, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 5, + "first15min": 44, + "steadyPerHour": 21.9, + "steadyPerMinute": 0.36, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 0, + 3, + 4, + 2, + 0, + 0, + 1, + 2, + 1, + 3, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 3, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 3, + 4, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 2, + 1, + 3, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 2, + 4, + 1, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 3, + 3, + 0, + 1, + 0, + 0, + 2, + 0 + ] + }, + "git": { + "total": 212 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 103, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 90 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 90, + "overdueAtStartS": { + "p50": 0, + "p90": 110, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 110, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 103, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 101 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1627, + "maxGapS": 1798 + } + ], + "cacheHits": 6, + "lastGoodServedOverBudget": 64, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 3400, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 103, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 307, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n14-c2-unfocused.json b/src/main/github/__experiments__/results/serve-after-n14-c2-unfocused.json new file mode 100644 index 00000000000..8ba193bc4df --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n14-c2-unfocused.json @@ -0,0 +1,447 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "unfocused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 44, + "perHour": 11, + "byKind": { + "graphql:sidebar": 30, + "graphql:merge-metadata": 11, + "rest:pulls-by-head": 3 + }, + "apiRequestsByHost": { + "github.com": 44 + }, + "apiRequestsPerHourByHost": { + "github.com": 11 + }, + "firstHour": 32, + "perHourCounts": [ + 32, + 4, + 4, + 4 + ], + "lastHourByKind": { + "graphql:sidebar": 2, + "graphql:merge-metadata": 2 + }, + "lastHourRollingPeak60s": 2, + "first15min": 28, + "steadyPerHour": 4.3, + "steadyPerMinute": 0.07, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 2, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 63 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 31, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 18 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 18, + "overdueAtStartS": { + "p50": 70, + "p90": 168, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 70, + "p90": 168, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 31, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 57 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1686, + "maxGapS": 1800 + } + ], + "cacheHits": 8, + "lastGoodServedOverBudget": 20, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 1800, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 28, + "p50": 10, + "max": 120 + }, + "2": { + "admits": 3, + "p50": 168, + "max": 169 + } + }, + "clientRefreshCalls": 118, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n14-c2.json b/src/main/github/__experiments__/results/serve-after-n14-c2.json new file mode 100644 index 00000000000..d281712e5c4 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n14-c2.json @@ -0,0 +1,443 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 163, + "perHour": 40.8, + "byKind": { + "graphql:sidebar": 132, + "graphql:merge-metadata": 16, + "rest:pulls-by-head": 15 + }, + "apiRequestsByHost": { + "github.com": 163 + }, + "apiRequestsPerHourByHost": { + "github.com": 40.8 + }, + "firstHour": 107, + "perHourCounts": [ + 107, + 23, + 17, + 16 + ], + "lastHourByKind": { + "graphql:sidebar": 11, + "graphql:merge-metadata": 3, + "rest:pulls-by-head": 2 + }, + "lastHourRollingPeak60s": 4, + "first15min": 53, + "steadyPerHour": 29.3, + "steadyPerMinute": 0.49, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 2, + 4, + 1, + 5, + 1, + 2, + 3, + 3, + 1, + 4, + 4, + 3, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 4, + 2, + 3, + 0, + 4, + 2, + 2, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 3, + 0, + 3, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 2, + 3, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 2, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 0, + 1, + 1, + 1, + 3, + 1, + 0, + 0, + 0 + ] + }, + "git": { + "total": 282 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 138, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 125 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 125, + "overdueAtStartS": { + "p50": 0, + "p90": 70, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 70, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 138, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 103 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1669, + "maxGapS": 1798 + } + ], + "cacheHits": 32, + "lastGoodServedOverBudget": 66, + "deferredCold": 37, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2398, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 138, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 405, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n200-c1.json b/src/main/github/__experiments__/results/serve-after-n200-c1.json new file mode 100644 index 00000000000..d40c9fb3410 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n200-c1.json @@ -0,0 +1,443 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 200, + "clients": 1, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 857, + "perHour": 214.3, + "byKind": { + "graphql:sidebar": 666, + "graphql:merge-metadata": 25, + "rest:pulls-by-head": 166 + }, + "apiRequestsByHost": { + "github.com": 857 + }, + "apiRequestsPerHourByHost": { + "github.com": 214.3 + }, + "firstHour": 212, + "perHourCounts": [ + 212, + 211, + 217, + 217 + ], + "lastHourByKind": { + "graphql:sidebar": 169, + "rest:pulls-by-head": 42, + "graphql:merge-metadata": 6 + }, + "lastHourRollingPeak60s": 10, + "first15min": 57, + "steadyPerHour": 213.3, + "steadyPerMinute": 3.56, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 10, + "worstPeakToMean15min": 2.6, + "timelinePerMinute": [ + 10, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 1, + 8, + 6, + 3, + 0, + 0, + 8, + 6, + 4, + 0, + 0, + 6, + 7, + 3, + 0, + 1, + 8, + 6, + 3, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 6, + 7, + 3, + 0, + 1, + 7, + 7, + 4, + 0, + 0, + 6, + 7, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 6, + 7, + 3, + 1, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 7, + 7, + 5, + 0, + 0, + 6, + 7, + 3, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 6, + 7, + 4, + 0, + 0, + 8, + 8, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 8, + 8, + 3, + 0, + 0, + 8, + 7, + 4, + 0, + 1, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 8, + 6, + 3, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 9, + 7, + 3, + 0, + 0, + 7, + 7, + 3, + 1, + 0, + 8, + 6, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 9, + 7, + 3, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 8, + 7, + 4, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 8, + 8, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0 + ] + }, + "git": { + "total": 1535 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 734, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 721 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 721, + "overdueAtStartS": { + "p50": 2226, + "p90": 3510, + "max": 3947 + }, + "waitedSinceFirstRefusalS": { + "p50": 2226, + "p90": 3510, + "max": 3947 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 734, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 3245 + }, + "visibleIdentities": { + "seen": 199, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 3930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1691, + "maxGapS": 1787 + } + ], + "cacheHits": 49, + "lastGoodServedOverBudget": 2403, + "deferredCold": 842, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 734, + "p50": 2217, + "max": 3947 + } + }, + "clientRefreshCalls": 4028, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n50-c3-disjoint.json b/src/main/github/__experiments__/results/serve-after-n50-c3-disjoint.json new file mode 100644 index 00000000000..97b8deb0c22 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n50-c3-disjoint.json @@ -0,0 +1,459 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": true, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 428, + "perHour": 107, + "byKind": { + "graphql:sidebar": 339, + "graphql:merge-metadata": 21, + "rest:pulls-by-head": 68 + }, + "apiRequestsByHost": { + "github.com": 428 + }, + "apiRequestsPerHourByHost": { + "github.com": 107 + }, + "firstHour": 219, + "perHourCounts": [ + 219, + 96, + 56, + 57 + ], + "lastHourByKind": { + "rest:pulls-by-head": 10, + "graphql:sidebar": 42, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 6, + "first15min": 62, + "steadyPerHour": 97.6, + "steadyPerMinute": 1.63, + "rollingPeak60s": 14, + "rollingPeak60sSteady": 10, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 12, + 8, + 4, + 0, + 0, + 8, + 7, + 4, + 1, + 0, + 7, + 7, + 3, + 0, + 1, + 6, + 8, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 6, + 3, + 0, + 1, + 7, + 9, + 3, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 8, + 6, + 3, + 0, + 0, + 6, + 8, + 3, + 0, + 0, + 7, + 8, + 4, + 0, + 0, + 6, + 1, + 4, + 3, + 1, + 4, + 8, + 2, + 1, + 1, + 5, + 7, + 4, + 1, + 1, + 4, + 5, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 1, + 2, + 2, + 2, + 3, + 4, + 5, + 5, + 1, + 2, + 0, + 3, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 2, + 2, + 5, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 3, + 0, + 0, + 1, + 4, + 5, + 3, + 4, + 0, + 4, + 2, + 3, + 2, + 0, + 1, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 2, + 2, + 2, + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 4, + 1, + 0, + 2, + 0, + 5, + 3, + 1, + 2, + 4, + 3, + 3, + 0, + 0, + 2, + 4, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 2, + 1, + 0, + 1, + 3, + 1, + 2, + 2, + 0, + 1, + 0, + 0, + 0, + 0 + ] + }, + "git": { + "total": 762 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 367, + "maxStartsPer5min": 20, + "maxStartsPer60s": 9, + "admits": { + "selected-own": 26, + "visible": 341 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 26, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 72 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 72 + }, + "peak60s": 3, + "peak5min": 5 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 341, + "overdueAtStartS": { + "p50": 80, + "p90": 760, + "max": 1005 + }, + "waitedSinceFirstRefusalS": { + "p50": 80, + "p90": 760, + "max": 1005 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 26, + "peak60s": 3, + "peak5min": 5 + }, + "budgeted": { + "starts": 367, + "peak60s": 9, + "peak5min": 20 + }, + "refusals": { + "selected": 1, + "visible": 1023 + }, + "visibleIdentities": { + "seen": 53, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1649, + "maxGapS": 1770 + }, + { + "identity": "pr:feat/other-0", + "starts": 13, + "medianGapS": 1676, + "maxGapS": 1735 + } + ], + "cacheHits": 77, + "lastGoodServedOverBudget": 784, + "deferredCold": 240, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4400, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1670, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 305, + "p50": 26, + "max": 1005 + }, + "2": { + "admits": 17, + "p50": 360, + "max": 440 + }, + "3": { + "admits": 45, + "p50": 10, + "max": 920 + } + }, + "clientRefreshCalls": 1784, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n50-c3-j0.json b/src/main/github/__experiments__/results/serve-after-n50-c3-j0.json new file mode 100644 index 00000000000..0ff1534df14 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n50-c3-j0.json @@ -0,0 +1,453 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 381, + "perHour": 95.3, + "byKind": { + "graphql:sidebar": 296, + "graphql:merge-metadata": 19, + "rest:pulls-by-head": 66 + }, + "apiRequestsByHost": { + "github.com": 381 + }, + "apiRequestsPerHourByHost": { + "github.com": 95.3 + }, + "firstHour": 209, + "perHourCounts": [ + 209, + 72, + 50, + 50 + ], + "lastHourByKind": { + "rest:pulls-by-head": 10, + "graphql:sidebar": 36, + "graphql:merge-metadata": 4 + }, + "lastHourRollingPeak60s": 8, + "first15min": 57, + "steadyPerHour": 86.4, + "steadyPerMinute": 1.44, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 9, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 10, + 8, + 3, + 1, + 0, + 7, + 6, + 5, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 7, + 8, + 3, + 0, + 0, + 8, + 7, + 3, + 0, + 0, + 7, + 6, + 3, + 0, + 0, + 9, + 8, + 3, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 6, + 5, + 0, + 0, + 6, + 5, + 6, + 0, + 0, + 5, + 6, + 5, + 1, + 0, + 1, + 1, + 3, + 5, + 1, + 1, + 7, + 5, + 5, + 1, + 1, + 2, + 4, + 2, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 1, + 0, + 4, + 5, + 5, + 1, + 0, + 1, + 5, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 3, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 5, + 1, + 0, + 4, + 5, + 5, + 1, + 0, + 1, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 3, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 5, + 1, + 0, + 4, + 5, + 5, + 1, + 0, + 1, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 1, + 1 + ] + }, + "git": { + "total": 670 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 322, + "maxStartsPer5min": 18, + "maxStartsPer60s": 7, + "admits": { + "selected-own": 12, + "visible": 310 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 12, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 1, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 310, + "overdueAtStartS": { + "p50": 110, + "p90": 710, + "max": 940 + }, + "waitedSinceFirstRefusalS": { + "p50": 110, + "p90": 710, + "max": 940 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 12, + "peak60s": 1, + "peak5min": 3 + }, + "budgeted": { + "starts": 322, + "peak60s": 7, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 1224 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 12, + "medianGapS": 1800, + "maxGapS": 1801 + } + ], + "cacheHits": 122, + "lastGoodServedOverBudget": 901, + "deferredCold": 323, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 6, + "p50": 20, + "max": 40 + }, + "2": { + "admits": 17, + "p50": 360, + "max": 440 + }, + "3": { + "admits": 299, + "p50": 10, + "max": 940 + } + }, + "clientRefreshCalls": 2300, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-after-n50-c3.json b/src/main/github/__experiments__/results/serve-after-n50-c3.json new file mode 100644 index 00000000000..e779f31aac6 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-after-n50-c3.json @@ -0,0 +1,453 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 389, + "perHour": 97.3, + "byKind": { + "graphql:sidebar": 298, + "graphql:merge-metadata": 21, + "rest:pulls-by-head": 70 + }, + "apiRequestsByHost": { + "github.com": 389 + }, + "apiRequestsPerHourByHost": { + "github.com": 97.3 + }, + "firstHour": 211, + "perHourCounts": [ + 211, + 76, + 50, + 52 + ], + "lastHourByKind": { + "rest:pulls-by-head": 11, + "graphql:sidebar": 36, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 7, + "first15min": 58, + "steadyPerHour": 88.3, + "steadyPerMinute": 1.47, + "rollingPeak60s": 13, + "rollingPeak60sSteady": 9, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 1, + 6, + 8, + 3, + 0, + 0, + 8, + 7, + 3, + 0, + 0, + 7, + 6, + 3, + 0, + 1, + 9, + 6, + 4, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 0, + 8, + 6, + 4, + 0, + 0, + 2, + 3, + 5, + 1, + 2, + 4, + 6, + 2, + 3, + 1, + 4, + 5, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 4, + 0, + 0, + 2, + 3, + 4, + 2, + 3, + 3, + 4, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 1, + 2, + 0, + 0, + 1, + 0, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 5, + 1, + 2, + 1, + 0, + 2, + 0, + 8, + 2, + 2, + 4, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 4, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 3, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 1, + 1, + 0, + 1, + 1, + 1, + 2, + 1, + 7, + 1, + 3, + 4, + 1, + 2, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 3, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 1, + 2, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 1, + 0 + ] + }, + "git": { + "total": 686 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 328, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 13, + "visible": 315 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 14400, + "lanes": { + "selected-own": { + "starts": 13, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 315, + "overdueAtStartS": { + "p50": 70, + "p90": 716, + "max": 942 + }, + "waitedSinceFirstRefusalS": { + "p50": 70, + "p90": 716, + "max": 942 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 13, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 328, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 1289 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 13, + "medianGapS": 1635, + "maxGapS": 1735 + } + ], + "cacheHits": 123, + "lastGoodServedOverBudget": 966, + "deferredCold": 323, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2853, + "rpcSimulatedMs": { + "p50": 0, + "p99": 1514, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 7, + "p50": 10, + "max": 40 + }, + "2": { + "admits": 17, + "p50": 360, + "max": 440 + }, + "3": { + "admits": 304, + "p50": 20, + "max": 942 + } + }, + "clientRefreshCalls": 2383, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-ghes-n14-c2.json b/src/main/github/__experiments__/results/serve-before-ghes-n14-c2.json new file mode 100644 index 00000000000..bb419da6397 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-ghes-n14-c2.json @@ -0,0 +1,349 @@ +{ + "config": { + "scenario": "serve-before", + "host": "ghes", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 5029, + "perHour": 1257.3, + "byKind": { + "auth:status": 170, + "pr:view": 1679, + "graphql:checks": 1679, + "graphql:merge-metadata": 41, + "rest:pull": 1190, + "rest:pulls-by-head": 270 + }, + "apiRequestsByHost": { + "ghe.example.com": 5029 + }, + "apiRequestsPerHourByHost": { + "ghe.example.com": 1257.3 + }, + "firstHour": 1652, + "perHourCounts": [ + 1652, + 1140, + 1110, + 1127 + ], + "lastHourByKind": { + "pr:view": 358, + "rest:pulls-by-head": 68, + "graphql:checks": 358, + "rest:pull": 298, + "auth:status": 35, + "graphql:merge-metadata": 10 + }, + "lastHourRollingPeak60s": 45, + "first15min": 478, + "steadyPerHour": 1213.6, + "steadyPerMinute": 20.23, + "rollingPeak60s": 85, + "rollingPeak60sSteady": 60, + "worstPeakToMean15min": 2.61, + "timelinePerMinute": [ + 85, + 5, + 51, + 5, + 51, + 5, + 51, + 5, + 51, + 5, + 52, + 5, + 51, + 5, + 51, + 9, + 60, + 5, + 51, + 5, + 52, + 5, + 51, + 5, + 51, + 3, + 49, + 3, + 49, + 3, + 55, + 3, + 58, + 3, + 49, + 2, + 47, + 3, + 49, + 3, + 50, + 3, + 49, + 3, + 49, + 6, + 50, + 3, + 58, + 3, + 50, + 3, + 49, + 3, + 45, + 3, + 34, + 4, + 30, + 6, + 35, + 7, + 30, + 6, + 39, + 6, + 30, + 6, + 30, + 6, + 29, + 9, + 21, + 15, + 11, + 28, + 4, + 33, + 3, + 33, + 3, + 44, + 3, + 33, + 3, + 30, + 3, + 33, + 3, + 33, + 6, + 34, + 4, + 33, + 3, + 33, + 3, + 42, + 3, + 33, + 3, + 35, + 3, + 33, + 3, + 36, + 3, + 34, + 3, + 33, + 3, + 35, + 3, + 42, + 3, + 33, + 3, + 33, + 3, + 33, + 6, + 34, + 4, + 33, + 3, + 33, + 3, + 33, + 3, + 42, + 3, + 35, + 3, + 33, + 1, + 35, + 3, + 33, + 4, + 33, + 3, + 35, + 3, + 33, + 3, + 42, + 3, + 33, + 3, + 33, + 6, + 35, + 3, + 34, + 3, + 33, + 3, + 32, + 4, + 30, + 6, + 38, + 9, + 22, + 14, + 18, + 21, + 4, + 33, + 3, + 33, + 3, + 35, + 3, + 33, + 3, + 33, + 3, + 42, + 3, + 36, + 3, + 34, + 1, + 34, + 3, + 33, + 3, + 33, + 3, + 33, + 3, + 34, + 3, + 42, + 6, + 33, + 3, + 33, + 4, + 33, + 3, + 34, + 3, + 33, + 3, + 33, + 3, + 33, + 3, + 45, + 3, + 35, + 3, + 34, + 3, + 33, + 3, + 33, + 3, + 33, + 3, + 35, + 3, + 33, + 6, + 42, + 3, + 33, + 4, + 33, + 3, + 32, + 3, + 33, + 3, + 33, + 3, + 33, + 3 + ] + }, + "git": { + "total": 4007 + }, + "serve": { + "gate": "none", + "upstreamStarts": 2650, + "maxStartsPer5min": 72, + "maxStartsPer60s": 28, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 1200, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 2650, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-n10-c3.json b/src/main/github/__experiments__/results/serve-before-n10-c3.json new file mode 100644 index 00000000000..031803ac878 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-n10-c3.json @@ -0,0 +1,343 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 10, + "clients": 3, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2918, + "perHour": 729.5, + "byKind": { + "graphql:sidebar": 2505, + "graphql:merge-metadata": 49, + "rest:pulls-by-head": 364 + }, + "apiRequestsByHost": { + "github.com": 2918 + }, + "apiRequestsPerHourByHost": { + "github.com": 729.5 + }, + "firstHour": 839, + "perHourCounts": [ + 839, + 820, + 652, + 607 + ], + "lastHourByKind": { + "graphql:sidebar": 522, + "rest:pulls-by-head": 71, + "graphql:merge-metadata": 14 + }, + "lastHourRollingPeak60s": 18, + "first15min": 228, + "steadyPerHour": 717.3, + "steadyPerMinute": 11.96, + "rollingPeak60s": 36, + "rollingPeak60sSteady": 28, + "worstPeakToMean15min": 1.85, + "timelinePerMinute": [ + 36, + 3, + 24, + 3, + 24, + 3, + 24, + 3, + 24, + 3, + 27, + 3, + 24, + 3, + 24, + 6, + 24, + 3, + 24, + 3, + 22, + 5, + 22, + 5, + 19, + 8, + 17, + 10, + 17, + 10, + 22, + 10, + 17, + 10, + 17, + 10, + 17, + 10, + 17, + 10, + 19, + 10, + 17, + 10, + 17, + 13, + 17, + 10, + 17, + 10, + 18, + 10, + 17, + 10, + 17, + 10, + 17, + 10, + 17, + 10, + 24, + 9, + 17, + 10, + 17, + 10, + 17, + 10, + 17, + 10, + 18, + 10, + 17, + 10, + 17, + 13, + 17, + 10, + 17, + 10, + 19, + 10, + 17, + 10, + 17, + 10, + 16, + 11, + 15, + 12, + 21, + 12, + 15, + 12, + 15, + 12, + 15, + 12, + 15, + 12, + 18, + 12, + 15, + 12, + 15, + 15, + 15, + 12, + 15, + 12, + 16, + 12, + 9, + 14, + 10, + 14, + 9, + 14, + 9, + 14, + 12, + 13, + 10, + 12, + 10, + 11, + 10, + 12, + 10, + 12, + 12, + 11, + 11, + 11, + 11, + 13, + 12, + 11, + 11, + 11, + 13, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 14, + 12, + 11, + 11, + 11, + 11, + 11, + 9, + 11, + 9, + 9, + 12, + 6, + 14, + 6, + 16, + 7, + 14, + 6, + 14, + 6, + 15, + 5, + 14, + 6, + 14, + 6, + 14, + 6, + 14, + 8, + 18, + 6, + 14, + 6, + 14, + 6, + 14, + 6, + 14, + 6, + 16, + 6, + 13, + 7, + 12, + 11, + 10, + 10, + 10, + 10, + 12, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 12, + 14, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 12, + 10, + 10, + 8, + 14, + 9, + 12, + 7, + 11, + 7, + 13, + 7, + 9, + 8, + 9, + 9, + 9, + 9, + 9 + ] + }, + "git": { + "total": 3632 + }, + "serve": { + "gate": "none", + "upstreamStarts": 2920, + "maxStartsPer5min": 78, + "maxStartsPer60s": 30, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4000, + "rpcSimulatedMs": { + "p50": 600, + "p99": 2000, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 2920, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-n14-c2-settled.json b/src/main/github/__experiments__/results/serve-before-n14-c2-settled.json new file mode 100644 index 00000000000..2ff868d317a --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-n14-c2-settled.json @@ -0,0 +1,343 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "settled", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2196, + "perHour": 549, + "byKind": { + "graphql:sidebar": 1920, + "graphql:merge-metadata": 48, + "rest:pulls-by-head": 228 + }, + "apiRequestsByHost": { + "github.com": 2196 + }, + "apiRequestsPerHourByHost": { + "github.com": 549 + }, + "firstHour": 731, + "perHourCounts": [ + 731, + 670, + 418, + 377 + ], + "lastHourByKind": { + "rest:pulls-by-head": 37, + "graphql:sidebar": 328, + "graphql:merge-metadata": 12 + }, + "lastHourRollingPeak60s": 14, + "first15min": 203, + "steadyPerHour": 531.5, + "steadyPerMinute": 8.86, + "rollingPeak60s": 33, + "rollingPeak60sSteady": 25, + "worstPeakToMean15min": 2.28, + "timelinePerMinute": [ + 33, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 24, + 2, + 22, + 2, + 22, + 4, + 22, + 2, + 22, + 2, + 23, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 25, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 23, + 2, + 22, + 2, + 22, + 4, + 22, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 24, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 3, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 1, + 20, + 2, + 18, + 3, + 23, + 3, + 19, + 3, + 19, + 3, + 19, + 3, + 19, + 3, + 21, + 3, + 19, + 3, + 17, + 7, + 17, + 5, + 17, + 5, + 18, + 5, + 17, + 5, + 17, + 5, + 14, + 5, + 13, + 5, + 14, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 12, + 5, + 9, + 5, + 9, + 7, + 9, + 5, + 9, + 5, + 12, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 13, + 5, + 9, + 5, + 9, + 3, + 7, + 5, + 7, + 5, + 7, + 8, + 3, + 9, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 10, + 1, + 9 + ] + }, + "git": { + "total": 2704 + }, + "serve": { + "gate": "none", + "upstreamStarts": 2672, + "maxStartsPer5min": 72, + "maxStartsPer60s": 28, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3000, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 2672, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-n14-c2.json b/src/main/github/__experiments__/results/serve-before-n14-c2.json new file mode 100644 index 00000000000..e15598d892b --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-n14-c2.json @@ -0,0 +1,343 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 4, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 14400, + "gh": { + "spawns": 2105, + "perHour": 526.3, + "byKind": { + "graphql:sidebar": 1835, + "graphql:merge-metadata": 51, + "rest:pulls-by-head": 219 + }, + "apiRequestsByHost": { + "github.com": 2105 + }, + "apiRequestsPerHourByHost": { + "github.com": 526.3 + }, + "firstHour": 729, + "perHourCounts": [ + 729, + 597, + 399, + 380 + ], + "lastHourByKind": { + "rest:pulls-by-head": 37, + "graphql:sidebar": 328, + "graphql:merge-metadata": 15 + }, + "lastHourRollingPeak60s": 14, + "first15min": 203, + "steadyPerHour": 507.2, + "steadyPerMinute": 8.45, + "rollingPeak60s": 33, + "rollingPeak60sSteady": 26, + "worstPeakToMean15min": 2.36, + "timelinePerMinute": [ + 33, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 24, + 2, + 22, + 2, + 22, + 4, + 22, + 2, + 22, + 2, + 23, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 26, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 22, + 2, + 23, + 2, + 22, + 2, + 22, + 3, + 21, + 1, + 21, + 1, + 22, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 25, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 21, + 1, + 22, + 1, + 21, + 1, + 21, + 3, + 21, + 1, + 21, + 1, + 23, + 1, + 21, + 1, + 21, + 0, + 20, + 2, + 19, + 3, + 22, + 3, + 19, + 3, + 19, + 3, + 19, + 3, + 17, + 3, + 15, + 3, + 11, + 3, + 11, + 5, + 11, + 3, + 11, + 3, + 13, + 3, + 9, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 13, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 9, + 5, + 11, + 5, + 9, + 5, + 9, + 7, + 9, + 3, + 9, + 3, + 12, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 12, + 5, + 5, + 7, + 4, + 8, + 4, + 8, + 2, + 10, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 3, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 10, + 1, + 11, + 1, + 11, + 3, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 10, + 2, + 11, + 3, + 9, + 3, + 9, + 3, + 9, + 3, + 9 + ] + }, + "git": { + "total": 2704 + }, + "serve": { + "gate": "none", + "upstreamStarts": 2672, + "maxStartsPer5min": 72, + "maxStartsPer60s": 28, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 2800, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1800, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 2672, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-n200-c1.json b/src/main/github/__experiments__/results/serve-before-n200-c1.json new file mode 100644 index 00000000000..9c97de15190 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-n200-c1.json @@ -0,0 +1,221 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 200, + "clients": 1, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 9876, + "perHour": 4938, + "byKind": { + "graphql:sidebar": 8499, + "graphql:merge-metadata": 17, + "rest:pulls-by-head": 1360 + }, + "apiRequestsByHost": { + "github.com": 9876 + }, + "apiRequestsPerHourByHost": { + "github.com": 4938 + }, + "firstHour": 4958, + "perHourCounts": [ + 4958, + 4918 + ], + "lastHourByKind": { + "rest:pulls-by-head": 680, + "graphql:sidebar": 4229, + "graphql:merge-metadata": 9 + }, + "lastHourRollingPeak60s": 176, + "first15min": 1349, + "steadyPerHour": 4872.6, + "steadyPerMinute": 81.21, + "rollingPeak60s": 221, + "rollingPeak60sSteady": 180, + "worstPeakToMean15min": 2.17, + "timelinePerMinute": [ + 221, + 1, + 160, + 1, + 160, + 1, + 160, + 1, + 160, + 1, + 161, + 1, + 160, + 1, + 160, + 21, + 158, + 3, + 158, + 3, + 156, + 6, + 153, + 8, + 151, + 10, + 148, + 13, + 148, + 13, + 167, + 16, + 143, + 18, + 140, + 21, + 139, + 22, + 134, + 27, + 132, + 30, + 127, + 34, + 125, + 56, + 123, + 38, + 121, + 40, + 119, + 44, + 114, + 47, + 111, + 50, + 110, + 51, + 108, + 53, + 125, + 58, + 101, + 60, + 99, + 62, + 97, + 64, + 91, + 70, + 91, + 71, + 85, + 75, + 84, + 96, + 81, + 81, + 77, + 84, + 77, + 86, + 72, + 89, + 69, + 92, + 66, + 95, + 66, + 95, + 83, + 99, + 61, + 100, + 61, + 100, + 59, + 102, + 59, + 102, + 58, + 104, + 53, + 108, + 50, + 129, + 48, + 115, + 46, + 115, + 46, + 117, + 40, + 121, + 39, + 122, + 38, + 123, + 35, + 126 + ] + }, + "git": { + "total": 17478 + }, + "serve": { + "gate": "none", + "upstreamStarts": 8659, + "maxStartsPer5min": 482, + "maxStartsPer60s": 200, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 3200, + "rpcSimulatedMs": { + "p50": 800, + "p99": 1600, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 8659, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-before-n50-c3.json b/src/main/github/__experiments__/results/serve-before-n50-c3.json new file mode 100644 index 00000000000..f16274db5b1 --- /dev/null +++ b/src/main/github/__experiments__/results/serve-before-n50-c3.json @@ -0,0 +1,221 @@ +{ + "config": { + "scenario": "serve-before", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 7554, + "perHour": 3777, + "byKind": { + "graphql:sidebar": 6508, + "graphql:merge-metadata": 26, + "rest:pulls-by-head": 1020 + }, + "apiRequestsByHost": { + "github.com": 7554 + }, + "apiRequestsPerHourByHost": { + "github.com": 3777 + }, + "firstHour": 3793, + "perHourCounts": [ + 3793, + 3761 + ], + "lastHourByKind": { + "rest:pulls-by-head": 510, + "graphql:sidebar": 3239, + "graphql:merge-metadata": 12 + }, + "lastHourRollingPeak60s": 124, + "first15min": 1006, + "steadyPerHour": 3741.7, + "steadyPerMinute": 62.36, + "rollingPeak60s": 168, + "rollingPeak60sSteady": 130, + "worstPeakToMean15min": 1.58, + "timelinePerMinute": [ + 165, + 6, + 115, + 8, + 114, + 9, + 111, + 12, + 107, + 16, + 106, + 19, + 100, + 23, + 95, + 42, + 94, + 30, + 89, + 34, + 89, + 36, + 87, + 36, + 84, + 39, + 84, + 39, + 82, + 41, + 96, + 44, + 81, + 42, + 81, + 42, + 81, + 42, + 81, + 42, + 83, + 42, + 81, + 42, + 81, + 54, + 84, + 42, + 81, + 42, + 83, + 42, + 81, + 42, + 81, + 42, + 81, + 42, + 81, + 42, + 95, + 45, + 81, + 41, + 81, + 42, + 81, + 42, + 81, + 42, + 82, + 42, + 79, + 44, + 79, + 55, + 81, + 46, + 77, + 46, + 78, + 48, + 74, + 49, + 73, + 50, + 72, + 51, + 71, + 52, + 85, + 56, + 71, + 52, + 71, + 52, + 71, + 52, + 71, + 52, + 72, + 52, + 69, + 54, + 69, + 64, + 74, + 54, + 69, + 54, + 66, + 59, + 61, + 62, + 61, + 62, + 61, + 62, + 61, + 62 + ] + }, + "git": { + "total": 8817 + }, + "serve": { + "gate": "none", + "upstreamStarts": 6628, + "maxStartsPer5min": 363, + "maxStartsPer60s": 148, + "admits": {}, + "lanes": null, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 4600, + "rpcSimulatedMs": { + "p50": 600, + "p99": 1400, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 6628, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/serve-oldclient-n14-c2.json b/src/main/github/__experiments__/results/serve-oldclient-n14-c2.json new file mode 100644 index 00000000000..1a726f5c8fc --- /dev/null +++ b/src/main/github/__experiments__/results/serve-oldclient-n14-c2.json @@ -0,0 +1,305 @@ +{ + "config": { + "scenario": "serve-after-oldclient", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 0, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 754, + "perHour": 377, + "byKind": { + "graphql:sidebar": 662, + "graphql:merge-metadata": 24, + "rest:pulls-by-head": 68 + }, + "apiRequestsByHost": { + "github.com": 754 + }, + "apiRequestsPerHourByHost": { + "github.com": 377 + }, + "firstHour": 379, + "perHourCounts": [ + 379, + 375 + ], + "lastHourByKind": { + "rest:pulls-by-head": 34, + "graphql:sidebar": 329, + "graphql:merge-metadata": 12 + }, + "lastHourRollingPeak60s": 14, + "first15min": 105, + "steadyPerHour": 370.9, + "steadyPerMinute": 6.18, + "rollingPeak60s": 18, + "rollingPeak60sSteady": 14, + "worstPeakToMean15min": 2.39, + "timelinePerMinute": [ + 18, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 12, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 14, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 1, + 11, + 2, + 11, + 1, + 11, + 1, + 13, + 1, + 11, + 0, + 11, + 1, + 11, + 1, + 11, + 1 + ] + }, + "git": { + "total": 1348 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 670, + "maxStartsPer5min": 36, + "maxStartsPer60s": 14, + "admits": {}, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "budgeted": { + "starts": 0, + "peak60s": 0, + "peak5min": 0 + }, + "refusals": { + "selected": 0, + "visible": 0 + }, + "visibleIdentities": { + "seen": 0, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 0 + } + }, + "selectedIdentities": [], + "cacheHits": 0, + "lastGoodServedOverBudget": 0, + "deferredCold": 0, + "replyDeadlineHits": 0, + "interactiveOverflow": 0, + "legacy": { + "hits": 301, + "upstreamReads": 670 + }, + "maxRpcSimulatedMs": 2400, + "rpcSimulatedMs": { + "p50": 400, + "p99": 1200, + "over10s": 0 + }, + "queueAgeSecondsByClient": {}, + "clientRefreshCalls": 1340, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/timeout-slow3-n14-c2.json b/src/main/github/__experiments__/results/timeout-slow3-n14-c2.json new file mode 100644 index 00000000000..484b4449adf --- /dev/null +++ b/src/main/github/__experiments__/results/timeout-slow3-n14-c2.json @@ -0,0 +1,326 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 3, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 125, + "perHour": 62.5, + "byKind": { + "graphql:sidebar": 105, + "graphql:merge-metadata": 10, + "rest:pulls-by-head": 10 + }, + "apiRequestsByHost": { + "github.com": 125 + }, + "apiRequestsPerHourByHost": { + "github.com": 62.5 + }, + "firstHour": 106, + "perHourCounts": [ + 106, + 19 + ], + "lastHourByKind": { + "graphql:sidebar": 14, + "rest:pulls-by-head": 2, + "graphql:merge-metadata": 3 + }, + "lastHourRollingPeak60s": 3, + "first15min": 53, + "steadyPerHour": 41.1, + "steadyPerMinute": 0.69, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 6, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 3, + 0, + 4, + 5, + 1, + 2, + 1, + 5, + 0, + 3, + 5, + 3, + 1, + 3, + 1, + 2, + 1, + 1, + 2, + 0, + 2, + 2, + 3, + 2, + 3, + 3, + 1, + 1, + 2, + 0, + 2, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 3, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 2, + 1, + 2, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 3, + 1, + 0, + 0 + ] + }, + "git": { + "total": 222 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 109, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 9, + "visible": 100 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 9, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 100, + "overdueAtStartS": { + "p50": 0, + "p90": 100, + "max": 158 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 100, + "max": 158 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 9, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 109, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 106 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 9, + "medianGapS": 896, + "maxGapS": 1758 + } + ], + "cacheHits": 37, + "lastGoodServedOverBudget": 62, + "deferredCold": 44, + "replyDeadlineHits": 70, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 10000, + "rpcSimulatedMs": { + "p50": 400, + "p99": 10000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 107, + "p50": 0, + "max": 158 + }, + "2": { + "admits": 2, + "p50": 50, + "max": 50 + } + }, + "clientRefreshCalls": 422, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/timeout-slow3-n50-c3.json b/src/main/github/__experiments__/results/timeout-slow3-n50-c3.json new file mode 100644 index 00000000000..94d2fc46e47 --- /dev/null +++ b/src/main/github/__experiments__/results/timeout-slow3-n50-c3.json @@ -0,0 +1,331 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 50, + "clients": 3, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 3, + "slowMs": 25000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 285, + "perHour": 142.5, + "byKind": { + "graphql:sidebar": 226, + "graphql:merge-metadata": 12, + "rest:pulls-by-head": 47 + }, + "apiRequestsByHost": { + "github.com": 285 + }, + "apiRequestsPerHourByHost": { + "github.com": 142.5 + }, + "firstHour": 211, + "perHourCounts": [ + 211, + 74 + ], + "lastHourByKind": { + "graphql:sidebar": 56, + "rest:pulls-by-head": 13, + "graphql:merge-metadata": 5 + }, + "lastHourRollingPeak60s": 7, + "first15min": 58, + "steadyPerHour": 129.7, + "steadyPerMinute": 2.16, + "rollingPeak60s": 13, + "rollingPeak60sSteady": 8, + "worstPeakToMean15min": 10, + "timelinePerMinute": [ + 11, + 7, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 7, + 3, + 0, + 1, + 6, + 8, + 3, + 0, + 0, + 8, + 7, + 3, + 0, + 0, + 7, + 6, + 4, + 0, + 1, + 8, + 7, + 3, + 0, + 0, + 7, + 6, + 4, + 0, + 0, + 7, + 7, + 4, + 0, + 0, + 7, + 3, + 7, + 0, + 0, + 7, + 4, + 6, + 0, + 0, + 2, + 5, + 4, + 1, + 1, + 7, + 3, + 5, + 2, + 1, + 2, + 3, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 0, + 3, + 2, + 2, + 5, + 3, + 4, + 0, + 1, + 1, + 4, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 4, + 0, + 0, + 2, + 1, + 1, + 1, + 0, + 0, + 0, + 1 + ] + }, + "git": { + "total": 503 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 243, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 9, + "visible": 234 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 9, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 234, + "overdueAtStartS": { + "p50": 379, + "p90": 745, + "max": 934 + }, + "waitedSinceFirstRefusalS": { + "p50": 379, + "p90": 745, + "max": 934 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 9, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 243, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 1266 + }, + "visibleIdentities": { + "seen": 49, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 930 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 9, + "medianGapS": 872, + "maxGapS": 1735 + } + ], + "cacheHits": 122, + "lastGoodServedOverBudget": 943, + "deferredCold": 323, + "replyDeadlineHits": 223, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 10000, + "rpcSimulatedMs": { + "p50": 0, + "p99": 10000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 7, + "p50": 10, + "max": 40 + }, + "2": { + "admits": 17, + "p50": 360, + "max": 440 + }, + "3": { + "admits": 219, + "p50": 379, + "max": 934 + } + }, + "clientRefreshCalls": 2328, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/results/timeout-slow5-over-client-deadline-n14-c2.json b/src/main/github/__experiments__/results/timeout-slow5-over-client-deadline-n14-c2.json new file mode 100644 index 00000000000..d6bccef1f3e --- /dev/null +++ b/src/main/github/__experiments__/results/timeout-slow5-over-client-deadline-n14-c2.json @@ -0,0 +1,321 @@ +{ + "config": { + "scenario": "serve-after", + "host": "dotcom", + "n": 14, + "clients": 2, + "hours": 2, + "workload": "mixed", + "focus": "focused", + "idle": "pause", + "jitter": 0.1, + "events": false, + "staggerS": 25, + "disjoint": false, + "seed": 1, + "eventTargets": 7, + "noci": true, + "gate": "d3", + "selectedIds": 1, + "selectedRunning": false, + "checks": false, + "slowEvery": 5, + "slowMs": 45000, + "disconnectMin": null, + "allGoneMin": null, + "fgEveryS": 0 + }, + "simulatedSeconds": 7200, + "gh": { + "spawns": 123, + "perHour": 61.5, + "byKind": { + "graphql:sidebar": 103, + "graphql:merge-metadata": 10, + "rest:pulls-by-head": 10 + }, + "apiRequestsByHost": { + "github.com": 123 + }, + "apiRequestsPerHourByHost": { + "github.com": 61.5 + }, + "firstHour": 105, + "perHourCounts": [ + 105, + 18 + ], + "lastHourByKind": { + "graphql:sidebar": 13, + "rest:pulls-by-head": 2, + "graphql:merge-metadata": 3 + }, + "lastHourRollingPeak60s": 3, + "first15min": 52, + "steadyPerHour": 40.6, + "steadyPerMinute": 0.68, + "rollingPeak60s": 12, + "rollingPeak60sSteady": 5, + "worstPeakToMean15min": 15, + "timelinePerMinute": [ + 11, + 6, + 4, + 0, + 0, + 7, + 4, + 1, + 3, + 2, + 5, + 2, + 1, + 2, + 4, + 3, + 2, + 5, + 2, + 1, + 1, + 3, + 1, + 2, + 1, + 1, + 2, + 1, + 1, + 4, + 1, + 2, + 4, + 3, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 3, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 2, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 2 + ] + }, + "git": { + "total": 218 + }, + "serve": { + "gate": "d3", + "upstreamStarts": 107, + "maxStartsPer5min": 18, + "maxStartsPer60s": 8, + "admits": { + "selected-own": 9, + "visible": 98 + }, + "lanes": { + "gate": "d3", + "simulatedSeconds": 7200, + "lanes": { + "selected-own": { + "starts": 9, + "overdueAtStartS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 0, + "max": 0 + }, + "peak60s": 2, + "peak5min": 3 + }, + "selected-borrowed": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + }, + "visible": { + "starts": 98, + "overdueAtStartS": { + "p50": 0, + "p90": 100, + "max": 169 + }, + "waitedSinceFirstRefusalS": { + "p50": 0, + "p90": 100, + "max": 169 + }, + "peak60s": 6, + "peak5min": 15 + }, + "interactive": { + "starts": 0, + "overdueAtStartS": { + "p50": null, + "p90": null, + "max": null + }, + "waitedSinceFirstRefusalS": { + "p50": null, + "p90": null, + "max": null + }, + "peak60s": 0, + "peak5min": 0 + } + }, + "selectedTotal": { + "starts": 9, + "peak60s": 2, + "peak5min": 3 + }, + "budgeted": { + "starts": 107, + "peak60s": 8, + "peak5min": 18 + }, + "refusals": { + "selected": 0, + "visible": 91 + }, + "visibleIdentities": { + "seen": 13, + "neverServed": 0, + "worstWaitFromFirstSeenToFirstStartS": 120 + } + }, + "selectedIdentities": [ + { + "identity": "pr:feat/wt-0", + "starts": 9, + "medianGapS": 900, + "maxGapS": 1794 + } + ], + "cacheHits": 35, + "lastGoodServedOverBudget": 54, + "deferredCold": 37, + "replyDeadlineHits": 78, + "interactiveOverflow": 0, + "legacy": { + "hits": 0, + "upstreamReads": 0 + }, + "maxRpcSimulatedMs": 10000, + "rpcSimulatedMs": { + "p50": 400, + "p99": 10000, + "over10s": 0 + }, + "queueAgeSecondsByClient": { + "1": { + "admits": 107, + "p50": 0, + "max": 169 + } + }, + "clientRefreshCalls": 411, + "clientFailures": 0, + "checksCalls": 0, + "foregroundCalls": 0, + "hintsDroppedAsLate": 0, + "upstreamStartsAfterAllClientsGone": null + }, + "detection": null, + "focusReturn": null, + "unknownGit": [], + "unknownGh": [] +} \ No newline at end of file diff --git a/src/main/github/__experiments__/run-stdout-smoke.txt b/src/main/github/__experiments__/run-stdout-smoke.txt new file mode 100644 index 00000000000..41e118eb9ab --- /dev/null +++ b/src/main/github/__experiments__/run-stdout-smoke.txt @@ -0,0 +1,4 @@ +cancel-hidden-n14-c2 rc=0 wall=31s +serve-after-n14-c2 rc=0 wall=31s +ghes-desk-after-n10-focused rc=0 wall=32s +ALL DONE diff --git a/src/main/github/__experiments__/sha256.txt b/src/main/github/__experiments__/sha256.txt new file mode 100644 index 00000000000..783312b18c9 --- /dev/null +++ b/src/main/github/__experiments__/sha256.txt @@ -0,0 +1,13 @@ +5c45d14449fe5e39b335bb533318278a5ec700beb14672207c3614410223bf60 gate-d3.ts +3bf47e88454fce54cf0fe0d0a5d24d8185d7ca6f111fffd2caf39d54fcb66003 gate-lanes.probe.test.ts +34216e0debfc932bffe9d0088ec1d1bed4fb02d862caac8ee7c127741caf8fe8 policy-d3.probe.test.ts +fb23bbd68ab5564ad75255417c79668acee6dafa064de29d2b58247d4247c2c3 policy-d3.ts +80c3e14a98cd2597738b4d97a40157f6ccf5b2870aca49b0a47b2279dba946ff polling-cost.experiment.test.ts +70c349004eb35b3bcbe07f2a89280e7938c627e90ea5a81beb453a9252dc1b82 polling-d2.experiment.test.ts +bc8a2cb6cd294793275312ab413b8e6ce8deef940b303a1618d8a65db59a8c7a rate-limit-d3.probe.test.ts +4685190159987701f9f81c9c15e7526bb83eafa0ba43fef595cb65e4ca5e4a8a rate-limit-d3.ts +bab4308d877d0de403f6655b8edb0ed6bd257fd27cd6b3e29fcee5cc657d9edd scheduler-d3.probe.test.ts +9cb1ce015076b19d7dd05c38e826563021392bf822dfed8dc07a00a17d2592bd scheduler-patches.ts +096c1608d033cfbbf8dcddadbf3242d07fb951d16b07dd12845f7414e4f42a20 specs3.txt +d1b3ed5489bf14f0c62ac93d61bc7318b59193ec460507b484e88250b6cb76f0 run-specs.sh +914ace17719b9b23f939c23754165d9d572f13178783b95b9a9a18fc8f8e73da table3.py diff --git a/src/main/github/__experiments__/uptime-log.txt b/src/main/github/__experiments__/uptime-log.txt new file mode 100644 index 00000000000..b364df58b55 --- /dev/null +++ b/src/main/github/__experiments__/uptime-log.txt @@ -0,0 +1,15 @@ +start 2026-11-12T20:49:15Z 12:49 up 4 days, 12:08, 132 users, load averages: 4.28 3.50 3.07 +after-probes 2026-11-12T20:49:32Z 12:49 up 4 days, 12:08, 132 users, load averages: 4.72 3.64 3.14 +after-smoke 2026-11-12T20:50:09Z 12:50 up 4 days, 12:09, 131 users, load averages: 5.12 3.86 3.23 +group D before 2026-11-12T20:50:21Z par=4 12:50 up 4 days, 12:09, 131 users, load averages: 5.01 3.90 3.26 +group D after 2026-11-12T20:52:12Z 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +group E before 2026-11-12T20:52:12Z par=4 12:52 up 4 days, 12:11, 130 users, load averages: 5.17 4.38 3.53 +group E after 2026-11-12T20:53:16Z 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +group C before 2026-11-12T20:53:16Z par=4 12:53 up 4 days, 12:12, 131 users, load averages: 5.67 4.71 3.71 +group C after 2026-11-12T20:57:01Z 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +group A before 2026-11-12T20:57:01Z par=4 12:57 up 4 days, 12:16, 131 users, load averages: 7.27 6.55 4.78 +group A after 2026-11-12T21:00:52Z 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +group B before 2026-11-12T21:00:52Z par=4 13:00 up 4 days, 12:19, 135 users, load averages: 6.85 6.77 5.31 +group B after 2026-11-12T21:01:38Z 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +group F before 2026-11-12T21:01:38Z par=4 13:01 up 4 days, 12:20, 134 users, load averages: 6.46 6.68 5.35 +group F after 2026-11-12T21:03:09Z 13:03 up 4 days, 12:22, 137 users, load averages: 5.51 6.33 5.35 diff --git a/table3.txt b/table3.txt new file mode 100644 index 00000000000..6df74f1c4d5 --- /dev/null +++ b/table3.txt @@ -0,0 +1,383 @@ +cancel-allgone30-n50-c3 spawns/h=[110, 0] lastH: prReads=0 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=0 pk60=0 | pk60all=13 pk/mean15=15 + gate=d3 starts=96 max5min=18 max60s=8 admits={'selected-own': 6, 'visible': 90} hits=12 lastGood=510 deferredCold=323 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1000, 'over10s': 0} max=1800 calls=1120 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=0 + lane selected-own starts= 6 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 90 pk60= 6 pk5min=15 overdueAtStartS={'p50': 620, 'p90': 826, 'max': 942} waitedS={'p50': 620, 'p90': 826, 'max': 942} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 833} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 6 medianGapS=233 maxGapS=872 + queueAgeByClient={'1': {'admits': 7, 'p50': 10, 'max': 40}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 72, 'p50': 701, 'max': 942}} +cancel-disconnect20-n50-c3 spawns/h=[219, 96] lastH: prReads=75 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=96 pk60=9 | pk60all=14 pk/mean15=10 + gate=d3 starts=273 max5min=20 max60s=9 admits={'selected-own': 18, 'visible': 255} hits=40 lastGood=485 deferredCold=240 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 2000, 'over10s': 0} max=3228 calls=1093 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 18 pk60= 3 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 72} waitedS={'p50': 0, 'p90': 0, 'max': 72} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 255 pk60= 6 pk5min=15 overdueAtStartS={'p50': 435, 'p90': 800, 'max': 1005} waitedS={'p50': 435, 'p90': 800, 'max': 1005} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=9 pk5min=20 selectedTotal pk5min=5 refusals={'selected': 1, 'visible': 724} visibleIdentities={'seen': 53, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 9 medianGapS=872 maxGapS=1795 + selected identity pr:feat/other-0 starts= 9 medianGapS=915 maxGapS=1732 + queueAgeByClient={'1': {'admits': 44, 'p50': 640, 'max': 930}, '2': {'admits': 196, 'p50': 390, 'max': 1005}, '3': {'admits': 33, 'p50': 72, 'max': 920}} +cancel-hidden-n14-c2 spawns/h=[5] lastH: prReads=3 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=5 pk60=5 | pk60all=5 pk/mean15=0 + gate=d3 starts=3 max5min=3 max60s=3 admits={'selected-own': 1, 'visible': 2} hits=2 lastGood=0 deferredCold=1 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1800, 'over10s': 0} max=1800 calls=6 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 1 pk60= 1 pk5min= 1 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 2 pk60= 2 pk5min= 2 overdueAtStartS={'p50': 25, 'p90': 25, 'max': 25} waitedS={'p50': 25, 'p90': 25, 'max': 25} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=3 pk5min=3 selectedTotal pk5min=1 refusals={'selected': 0, 'visible': 1} visibleIdentities={'seen': 2, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 25} + selected identity pr:feat/wt-0 starts= 1 medianGapS=0 maxGapS=0 + queueAgeByClient={'1': {'admits': 2, 'p50': 0, 'max': 0}, '2': {'admits': 1, 'p50': 25, 'max': 25}} +detect-desk-after-n10-j0 spawns/h=[140, 92, 40, 117, 72, 72, 110, 87, 117, 127, 91, 99, 125, 133, 90, 120, 60, 82, 87, 123, 121, 55, 93, 74] lastH: prReads=20 auth=9 rateLimitProbes=0 reqLowerBound(auth x3)=92 pk60=17 | pk60all=25 pk/mean15=15 + detection events=97 undetected=18 startSelected:15/700/1191/1455 startVisible:15/641/1375/1446 finishSelected:16/27/58/62 finishVisible:32/306/1847/2304 (samples/p50/p90/max s) +detect-desk-after-n10 spawns/h=[160, 71, 61, 137, 113, 49, 100, 73, 136, 143, 103, 106, 132, 174, 90, 87, 86, 127, 106, 101, 152, 115, 127, 110] lastH: prReads=31 auth=12 rateLimitProbes=0 reqLowerBound(auth x3)=134 pk60=11 | pk60all=25 pk/mean15=15 + detection events=97 undetected=14 startSelected:16/725/1003/1182 startVisible:18/484/1165/1341 finishSelected:16/47/60/62 finishVisible:32/118/1779/1945 (samples/p50/p90/max s) +detect-desk-before-n10 spawns/h=[728, 723, 717, 717, 714, 722, 724, 722, 722, 711, 725, 723, 726, 720, 729, 725, 726, 726, 720, 729, 722, 728, 727, 722] lastH: prReads=228 auth=28 rateLimitProbes=0 reqLowerBound(auth x3)=778 pk60=18 | pk60all=25 pk/mean15=1.69 + detection events=97 undetected=0 startSelected:16/41/60/62 startVisible:33/43/107/115 finishSelected:16/36/55/57 finishVisible:32/68/114/126 (samples/p50/p90/max s) +detect-serve-after-n14-c2-j0 spawns/h=[66, 39, 16, 42, 29, 28, 42, 32, 45, 48, 34, 38, 46, 51, 32, 32, 25, 35, 40, 53, 46, 23, 36, 31] lastH: prReads=24 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=31 pk60=5 | pk60all=11 pk/mean15=15 + gate=d3 starts=771 max5min=18 max60s=7 admits={'selected-own': 321, 'visible': 450} hits=6 lastGood=98 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 2000, 'over10s': 0} max=2400 calls=1677 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 321 pk60= 1 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 450 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 10, 'max': 178} waitedS={'p50': 0, 'p90': 10, 'max': 178} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=7 pk5min=18 selectedTotal pk5min=5 refusals={'selected': 0, 'visible': 135} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 321 medianGapS=60 maxGapS=1801 + queueAgeByClient={'1': {'admits': 771, 'p50': 0, 'max': 178}} + detection events=97 undetected=17 startSelected:32/909/1316/1456 startVisible:30/584/1446/1527 finishSelected:32/18/41/51 finishVisible:64/217/2085/2291 (samples/p50/p90/max s) +detect-serve-after-n14-c2-seed2 spawns/h=[71, 61, 34, 20, 45, 21, 36, 44, 49, 30, 17, 31, 38, 23, 24, 51, 38, 26, 49, 49, 21, 46, 25, 29] lastH: prReads=23 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=29 pk60=2 | pk60all=12 pk/mean15=15 + gate=d3 starts=740 max5min=18 max60s=8 admits={'selected-own': 240, 'visible': 496, 'selected-borrowed': 4} hits=6 lastGood=134 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1800, 'over10s': 0} max=2394 calls=1651 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 240 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 10} waitedS={'p50': 0, 'p90': 0, 'max': 10} + lane selected-borrowed starts= 4 pk60= 1 pk5min= 1 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane visible starts= 496 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 10, 'max': 169} waitedS={'p50': 0, 'p90': 10, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=6 refusals={'selected': 2, 'visible': 169} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 244 medianGapS=60 maxGapS=1794 + queueAgeByClient={'1': {'admits': 740, 'p50': 0, 'max': 169}} + detection events=93 undetected=17 startSelected:26/870/1492/1619 startVisible:34/456/860/1260 finishSelected:30/25/54/186 finishVisible:62/106/1480/1834 (samples/p50/p90/max s) +detect-serve-after-n14-c2 spawns/h=[68, 49, 23, 49, 31, 37, 44, 37, 51, 51, 44, 42, 48, 65, 19, 34, 45, 34, 38, 48, 52, 39, 62, 36] lastH: prReads=28 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=36 pk60=4 | pk60all=12 pk/mean15=15 + gate=d3 starts=905 max5min=18 max60s=8 admits={'selected-own': 370, 'visible': 524, 'selected-borrowed': 11} hits=6 lastGood=124 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1800, 'over10s': 0} max=4400 calls=1971 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 370 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 11 pk60= 1 pk5min= 1 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane visible starts= 524 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 10, 'max': 169} waitedS={'p50': 0, 'p90': 10, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=6 refusals={'selected': 0, 'visible': 161} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 381 medianGapS=60 maxGapS=1792 + queueAgeByClient={'1': {'admits': 905, 'p50': 0, 'max': 169}} + detection events=97 undetected=13 startSelected:32/603/1036/1230 startVisible:38/505/1244/1610 finishSelected:32/40/54/57 finishVisible:62/108/1699/1906 (samples/p50/p90/max s) +detect-serve-before-n14-c2 spawns/h=[719, 644, 409, 381, 381, 383, 378, 380, 380, 381, 384, 379, 379, 377, 372, 380, 379, 382, 375, 380, 380, 379, 380, 367] lastH: prReads=320 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=367 pk60=14 | pk60all=32 pk/mean15=2.36 + gate=none starts=15958 max5min=72 max60s=28 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1400, 'over10s': 0} max=4000 calls=15958 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} + detection events=97 undetected=0 startSelected:32/31/45/56 startVisible:66/52/110/120 finishSelected:32/34/56/59 finishVisible:64/62/107/119 (samples/p50/p90/max s) +detect-serve-oldclient-n14-c2 spawns/h=[378, 376, 379, 375, 376, 376, 377, 367, 374, 378, 379, 376, 382, 375, 376, 366, 376, 375, 374, 376, 374, 376, 375, 371] lastH: prReads=326 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=371 pk60=14 | pk60all=18 pk/mean15=2.53 + gate=d3 starts=7985 max5min=36 max60s=14 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 302, 'upstreamReads': 7985} rpcMs={'p50': 400, 'p99': 1200, 'over10s': 0} max=3000 calls=15970 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=0 pk5min=0 selectedTotal pk5min=0 refusals={'selected': 0, 'visible': 0} visibleIdentities={'seen': 0, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 0} + queueAgeByClient={} + detection events=97 undetected=0 startSelected:32/34/52/58 startVisible:66/65/117/120 finishSelected:32/19/49/50 finishVisible:64/72/116/119 (samples/p50/p90/max s) +dotcom-desk-after-n10 spawns/h=[58, 14, 13, 14] lastH: prReads=8 auth=0 rateLimitProbes=1 reqLowerBound(auth x3)=14 pk60=3 | pk60all=9 pk/mean15=15 +dotcom-desk-after-n50 spawns/h=[232, 49, 50, 50] lastH: prReads=36 auth=0 rateLimitProbes=1 reqLowerBound(auth x3)=50 pk60=8 | pk60all=9 pk/mean15=15 +dotcom-desk-before-n10 spawns/h=[362, 362, 362, 363] lastH: prReads=233 auth=0 rateLimitProbes=91 reqLowerBound(auth x3)=363 pk60=9 | pk60all=10 pk/mean15=1.53 +dotcom-desk-before-n50 spawns/h=[361, 362, 362, 362] lastH: prReads=226 auth=0 rateLimitProbes=84 reqLowerBound(auth x3)=362 pk60=10 | pk60all=10 pk/mean15=1.72 +ghes-desk-after-n10-focused-noci0 spawns/h=[156, 44, 36, 41] lastH: prReads=9 auth=10 rateLimitProbes=0 reqLowerBound(auth x3)=61 pk60=9 | pk60all=25 pk/mean15=15 +ghes-desk-after-n10-focused spawns/h=[156, 44, 36, 42] lastH: prReads=9 auth=10 rateLimitProbes=0 reqLowerBound(auth x3)=62 pk60=8 | pk60all=25 pk/mean15=15 +ghes-desk-after-n10-hidden spawns/h=[0, 0] lastH: prReads=0 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=0 pk60=0 | pk60all=0 pk/mean15=0 +ghes-desk-after-n10-mixed spawns/h=[256, 43, 37, 37] lastH: prReads=8 auth=9 rateLimitProbes=0 reqLowerBound(auth x3)=55 pk60=8 | pk60all=25 pk/mean15=15 +ghes-desk-after-n10-return spawns/h=[147, 40] lastH: prReads=9 auth=10 rateLimitProbes=0 reqLowerBound(auth x3)=60 pk60=13 | pk60all=25 pk/mean15=15 + return {'spawnsBeforeReturn': 71, 'spawnsFirst15minAfter': 49, 'catchUpBurstSeconds': 75} +ghes-desk-after-n10-unfocused-noidle spawns/h=[156, 44, 40, 36] lastH: prReads=8 auth=9 rateLimitProbes=0 reqLowerBound(auth x3)=54 pk60=8 | pk60all=25 pk/mean15=15 +ghes-desk-after-n10-unfocused spawns/h=[76, 15, 10, 10] lastH: prReads=2 auth=2 rateLimitProbes=0 reqLowerBound(auth x3)=14 pk60=5 | pk60all=25 pk/mean15=15 +ghes-desk-after-n50-focused-j0 spawns/h=[708, 156, 156, 156] lastH: prReads=36 auth=41 rateLimitProbes=0 reqLowerBound(auth x3)=238 pk60=25 | pk60all=25 pk/mean15=15 +ghes-desk-after-n50-focused-j25 spawns/h=[710, 161, 202, 191] lastH: prReads=44 auth=49 rateLimitProbes=0 reqLowerBound(auth x3)=289 pk60=16 | pk60all=25 pk/mean15=15 +ghes-desk-after-n50-focused spawns/h=[710, 157, 157, 157] lastH: prReads=36 auth=41 rateLimitProbes=0 reqLowerBound(auth x3)=239 pk60=24 | pk60all=25 pk/mean15=15 +ghes-desk-after-n50-mixed spawns/h=[811, 190, 158, 158] lastH: prReads=36 auth=41 rateLimitProbes=0 reqLowerBound(auth x3)=240 pk60=16 | pk60all=25 pk/mean15=10.59 +ghes-desk-after-n50-return spawns/h=[599, 292] lastH: prReads=70 auth=73 rateLimitProbes=0 reqLowerBound(auth x3)=438 pk60=24 | pk60all=25 pk/mean15=15 + return {'spawnsBeforeReturn': 206, 'spawnsFirst15minAfter': 210, 'catchUpBurstSeconds': 200} +ghes-desk-after-n50-unfocused spawns/h=[211, 10, 10, 15] lastH: prReads=3 auth=3 rateLimitProbes=0 reqLowerBound(auth x3)=21 pk60=5 | pk60all=25 pk/mean15=15 +ghes-desk-before-n10-focused spawns/h=[731, 717, 717, 723] lastH: prReads=227 auth=32 rateLimitProbes=0 reqLowerBound(auth x3)=787 pk60=19 | pk60all=25 pk/mean15=1.62 +ghes-desk-before-n10-hidden spawns/h=[0, 0] lastH: prReads=0 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=0 pk60=0 | pk60all=0 pk/mean15=0 +ghes-desk-before-n10-mixed spawns/h=[728, 723, 714, 723] lastH: prReads=227 auth=32 rateLimitProbes=0 reqLowerBound(auth x3)=787 pk60=18 | pk60all=25 pk/mean15=1.53 +ghes-desk-before-n10-unfocused spawns/h=[731, 717, 717, 726] lastH: prReads=228 auth=32 rateLimitProbes=0 reqLowerBound(auth x3)=790 pk60=17 | pk60all=25 pk/mean15=1.62 +ghes-desk-before-n50-focused spawns/h=[831, 834, 833, 818] lastH: prReads=226 auth=120 rateLimitProbes=0 reqLowerBound(auth x3)=1058 pk60=25 | pk60all=25 pk/mean15=1.88 +ghes-desk-before-n50-mixed spawns/h=[831, 834, 833, 818] lastH: prReads=226 auth=120 rateLimitProbes=0 reqLowerBound(auth x3)=1058 pk60=25 | pk60all=25 pk/mean15=1.85 +ghes-desk-before-n50-unfocused spawns/h=[831, 834, 833, 818] lastH: prReads=226 auth=120 rateLimitProbes=0 reqLowerBound(auth x3)=1058 pk60=25 | pk60all=25 pk/mean15=1.86 +lanes-1sel-checks-n14-c2-gate-d3 spawns/h=[192, 139, 139] lastH: prReads=71 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=139 pk60=5 | pk60all=11 pk/mean15=2.21 + gate=d3 starts=443 max5min=20 max60s=8 admits={'selected-own': 178, 'visible': 102, 'selected-borrowed': 163} hits=25 lastGood=152 deferredCold=36 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1600, 'over10s': 0} max=2352 calls=720 fail=0 checks=372 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 178 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 178} waitedS={'p50': 0, 'p90': 0, 'max': 178} + lane selected-borrowed starts= 163 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 10, 'max': 28} waitedS={'p50': 0, 'p90': 10, 'max': 28} + lane visible starts= 102 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 90, 'max': 171} waitedS={'p50': 0, 'p90': 90, 'max': 171} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 56, 'visible': 132} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-2 starts= 170 medianGapS=60 maxGapS=239 + selected identity checks:feat/wt-2 starts= 171 medianGapS=60 maxGapS=189 + queueAgeByClient={'1': {'admits': 443, 'p50': 0, 'max': 178}} +lanes-1sel-checks-n50-c2-gate-d3 spawns/h=[267, 184, 167] lastH: prReads=93 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=167 pk60=7 | pk60all=11 pk/mean15=2.76 + gate=d3 starts=563 max5min=20 max60s=8 admits={'selected-own': 180, 'visible': 276, 'selected-borrowed': 107} hits=66 lastGood=804 deferredCold=227 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1200, 'over10s': 0} max=2916 calls=1868 fail=0 checks=348 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 180 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 129, 'max': 178} waitedS={'p50': 0, 'p90': 129, 'max': 178} + lane selected-borrowed starts= 107 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 20} waitedS={'p50': 0, 'p90': 0, 'max': 20} + lane visible starts= 276 pk60= 6 pk5min=15 overdueAtStartS={'p50': 300, 'p90': 730, 'max': 942} waitedS={'p50': 300, 'p90': 730, 'max': 942} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 120, 'visible': 911} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-2 starts= 141 medianGapS=60 maxGapS=239 + selected identity checks:feat/wt-2 starts= 146 medianGapS=60 maxGapS=230 + queueAgeByClient={'1': {'admits': 545, 'p50': 0, 'max': 942}, '2': {'admits': 18, 'p50': 360, 'max': 440}} +lanes-2sel-checks-n14-c2-gate-d3 spawns/h=[194, 135, 137] lastH: prReads=71 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=137 pk60=6 | pk60all=13 pk/mean15=2.73 + gate=d3 starts=441 max5min=20 max60s=10 admits={'selected-own': 180, 'visible': 93, 'selected-borrowed': 168} hits=59 lastGood=447 deferredCold=34 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 2000, 'over10s': 0} max=3000 calls=721 fail=0 checks=335 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 180 pk60= 4 pk5min= 5 overdueAtStartS={'p50': 77, 'p90': 179, 'max': 230} waitedS={'p50': 77, 'p90': 179, 'max': 230} + lane selected-borrowed starts= 168 pk60= 3 pk5min= 5 overdueAtStartS={'p50': 10, 'p90': 128, 'max': 169} waitedS={'p50': 10, 'p90': 128, 'max': 169} + lane visible starts= 93 pk60= 6 pk5min=15 overdueAtStartS={'p50': 11, 'p90': 99, 'max': 215} waitedS={'p50': 11, 'p90': 99, 'max': 215} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=10 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 334, 'visible': 147} visibleIdentities={'seen': 14, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 110} + selected identity pr:feat/wt-2 starts= 99 medianGapS=80 maxGapS=240 + selected identity checks:feat/wt-2 starts= 87 medianGapS=81 maxGapS=270 + selected identity pr:feat/wt-7 starts= 92 medianGapS=80 maxGapS=275 + selected identity checks:feat/wt-7 starts= 83 medianGapS=80 maxGapS=290 + queueAgeByClient={'1': {'admits': 227, 'p50': 10, 'max': 215}, '2': {'admits': 214, 'p50': 20, 'max': 230}} +lanes-2sel-n50-c2-gate-d2 spawns/h=[223, 212, 181] lastH: prReads=163 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=181 pk60=7 | pk60all=12 pk/mean15=1.84 + gate=d2 starts=566 max5min=20 max60s=8 admits={'selected-own': 354, 'visible': 212} hits=103 lastGood=2656 deferredCold=585 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1200, 'over10s': 0} max=2400 calls=4117 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 354 pk60= 2 pk5min=10 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 56} waitedS={'p50': 0, 'p90': 0, 'max': 25} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 212 pk60= 6 pk5min=12 overdueAtStartS={'p50': 928, 'p90': 1766, 'max': 2020} waitedS={'p50': 928, 'p90': 1766, 'max': 2020} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 2, 'visible': 3239} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 1810} + selected identity pr:feat/wt-2 starts= 177 medianGapS=61 maxGapS=117 + selected identity pr:feat/wt-7 starts= 177 medianGapS=61 maxGapS=93 + queueAgeByClient={'1': {'admits': 226, 'p50': 0, 'max': 2010}, '2': {'admits': 340, 'p50': 0, 'max': 2020}} +lanes-2sel-n50-c2-gate-d3 spawns/h=[269, 175, 166] lastH: prReads=147 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=166 pk60=7 | pk60all=12 pk/mean15=2.76 + gate=d3 starts=556 max5min=20 max60s=8 admits={'selected-own': 178, 'visible': 269, 'selected-borrowed': 109} hits=94 lastGood=824 deferredCold=221 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 2000, 'over10s': 0} max=3131 calls=1958 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 178 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 132, 'max': 162} waitedS={'p50': 0, 'p90': 132, 'max': 162} + lane selected-borrowed starts= 109 pk60= 2 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 10, 'max': 127} waitedS={'p50': 0, 'p90': 10, 'max': 127} + lane visible starts= 269 pk60= 6 pk5min=15 overdueAtStartS={'p50': 259, 'p90': 730, 'max': 920} waitedS={'p50': 259, 'p90': 730, 'max': 920} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 76, 'visible': 969} visibleIdentities={'seen': 50, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 920} + selected identity pr:feat/wt-2 starts= 143 medianGapS=61 maxGapS=215 + selected identity pr:feat/wt-7 starts= 144 medianGapS=61 maxGapS=223 + queueAgeByClient={'1': {'admits': 279, 'p50': 10, 'max': 920}, '2': {'admits': 277, 'p50': 0, 'max': 822}} +lanes-4sel-checks-n20-c4-gate-d3 spawns/h=[214, 142, 144] lastH: prReads=78 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=144 pk60=8 | pk60all=14 pk/mean15=4 + gate=d3 starts=464 max5min=20 max60s=11 admits={'selected-own': 180, 'visible': 128, 'selected-borrowed': 156} hits=168 lastGood=877 deferredCold=77 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1369, 'over10s': 0} max=2782 calls=1505 fail=0 checks=411 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 180 pk60= 5 pk5min= 5 overdueAtStartS={'p50': 230, 'p90': 250, 'max': 439} waitedS={'p50': 230, 'p90': 250, 'max': 439} + lane selected-borrowed starts= 156 pk60= 5 pk5min= 5 overdueAtStartS={'p50': 139, 'p90': 239, 'max': 259} waitedS={'p50': 139, 'p90': 239, 'max': 259} + lane visible starts= 128 pk60= 6 pk5min=15 overdueAtStartS={'p50': 60, 'p90': 231, 'max': 347} waitedS={'p50': 60, 'p90': 231, 'max': 347} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=11 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 492, 'visible': 462} visibleIdentities={'seen': 20, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 310} + selected identity pr:feat/wt-2 starts= 59 medianGapS=227 maxGapS=459 + selected identity checks:feat/wt-2 starts= 41 medianGapS=300 maxGapS=480 + selected identity pr:feat/wt-7 starts= 50 medianGapS=280 maxGapS=499 + selected identity checks:feat/wt-7 starts= 41 medianGapS=290 maxGapS=325 + selected identity pr:feat/wt-12 starts= 47 medianGapS=290 maxGapS=310 + selected identity checks:feat/wt-12 starts= 42 medianGapS=290 maxGapS=310 + selected identity pr:feat/wt-17 starts= 50 medianGapS=269 maxGapS=319 + selected identity checks:feat/wt-17 starts= 45 medianGapS=290 maxGapS=500 + queueAgeByClient={'1': {'admits': 120, 'p50': 170, 'max': 419}, '2': {'admits': 108, 'p50': 220, 'max': 437}, '3': {'admits': 121, 'p50': 220, 'max': 250}, '4': {'admits': 115, 'p50': 219, 'max': 439}} +lanes-4sel-checks-n50-c4-gate-d2 spawns/h=[253, 248, 251] lastH: prReads=96 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=254 pk60=11 | pk60all=16 pk/mean15=2.62 + gate=d2 starts=723 max5min=20 max60s=14 admits={'selected-own': 711, 'visible': 12} hits=155 lastGood=1776 deferredCold=6854 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 400, 'over10s': 0} max=1200 calls=8920 fail=0 checks=605 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 711 pk60= 8 pk5min=20 overdueAtStartS={'p50': 10, 'p90': 169, 'max': 190} waitedS={'p50': 0, 'p90': 0, 'max': 160} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 12 pk60= 6 pk5min= 8 overdueAtStartS={'p50': 60, 'p90': 390, 'max': 690} waitedS={'p50': 60, 'p90': 390, 'max': 690} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=14 pk5min=20 selectedTotal pk5min=20 refusals={'selected': 863, 'visible': 7767} visibleIdentities={'seen': 50, 'neverServed': 34, 'worstWaitFromFirstSeenToFirstStartS': 10800} + selected identity pr:feat/wt-2 starts= 72 medianGapS=71 maxGapS=269 + selected identity checks:feat/wt-2 starts= 107 medianGapS=60 maxGapS=240 + selected identity pr:feat/wt-7 starts= 72 medianGapS=81 maxGapS=249 + selected identity checks:feat/wt-7 starts= 106 medianGapS=60 maxGapS=230 + selected identity pr:feat/wt-12 starts= 71 medianGapS=219 maxGapS=280 + selected identity checks:feat/wt-12 starts= 106 medianGapS=60 maxGapS=250 + selected identity pr:feat/wt-17 starts= 71 medianGapS=209 maxGapS=250 + selected identity checks:feat/wt-17 starts= 106 medianGapS=60 maxGapS=240 + queueAgeByClient={'1': {'admits': 184, 'p50': 0, 'max': 148}, '2': {'admits': 180, 'p50': 0, 'max': 690}, '3': {'admits': 180, 'p50': 0, 'max': 160}, '4': {'admits': 179, 'p50': 0, 'max': 380}} +lanes-4sel-checks-n50-c4-gate-d3 spawns/h=[268, 173, 162] lastH: prReads=89 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=162 pk60=8 | pk60all=14 pk/mean15=3.43 + gate=d3 starts=549 max5min=20 max60s=11 admits={'selected-own': 180, 'visible': 259, 'selected-borrowed': 110} hits=222 lastGood=1971 deferredCold=382 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1400, 'over10s': 0} max=3000 calls=3535 fail=0 checks=353 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 180 pk60= 5 pk5min= 5 overdueAtStartS={'p50': 260, 'p90': 510, 'max': 524} waitedS={'p50': 260, 'p90': 510, 'max': 524} + lane selected-borrowed starts= 110 pk60= 5 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 250, 'max': 510} waitedS={'p50': 0, 'p90': 250, 'max': 510} + lane visible starts= 259 pk60= 6 pk5min=15 overdueAtStartS={'p50': 252, 'p90': 700, 'max': 910} waitedS={'p50': 252, 'p90': 700, 'max': 910} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=11 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 404, 'visible': 1949} visibleIdentities={'seen': 50, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 910} + selected identity pr:feat/wt-2 starts= 36 medianGapS=310 maxGapS=580 + selected identity checks:feat/wt-2 starts= 37 medianGapS=300 maxGapS=575 + selected identity pr:feat/wt-7 starts= 36 medianGapS=300 maxGapS=585 + selected identity checks:feat/wt-7 starts= 37 medianGapS=290 maxGapS=580 + selected identity pr:feat/wt-12 starts= 39 medianGapS=290 maxGapS=580 + selected identity checks:feat/wt-12 starts= 37 medianGapS=300 maxGapS=570 + selected identity pr:feat/wt-17 starts= 37 medianGapS=300 maxGapS=580 + selected identity checks:feat/wt-17 starts= 34 medianGapS=300 maxGapS=580 + queueAgeByClient={'1': {'admits': 149, 'p50': 220, 'max': 730}, '2': {'admits': 113, 'p50': 249, 'max': 740}, '3': {'admits': 151, 'p50': 240, 'max': 910}, '4': {'admits': 136, 'p50': 240, 'max': 754}} +lanes-4sel-n50-c4-gate-d2 spawns/h=[249, 243, 244] lastH: prReads=238 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=244 pk60=5 | pk60all=14 pk/mean15=1.27 + gate=d2 starts=714 max5min=20 max60s=10 admits={'selected-own': 697, 'visible': 17} hits=360 lastGood=1423 deferredCold=7404 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1000, 'over10s': 0} max=3000 calls=9932 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 697 pk60= 4 pk5min=20 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 98} waitedS={'p50': 0, 'p90': 0, 'max': 89} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 17 pk60= 6 pk5min=10 overdueAtStartS={'p50': 80, 'p90': 710, 'max': 781} waitedS={'p50': 80, 'p90': 710, 'max': 781} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=10 pk5min=20 selectedTotal pk5min=20 refusals={'selected': 19, 'visible': 8808} visibleIdentities={'seen': 50, 'neverServed': 29, 'worstWaitFromFirstSeenToFirstStartS': 10800} + selected identity pr:feat/wt-2 starts= 175 medianGapS=61 maxGapS=188 + selected identity pr:feat/wt-7 starts= 175 medianGapS=61 maxGapS=154 + selected identity pr:feat/wt-12 starts= 173 medianGapS=61 maxGapS=210 + selected identity pr:feat/wt-17 starts= 174 medianGapS=61 maxGapS=165 + queueAgeByClient={'1': {'admits': 181, 'p50': 0, 'max': 781}, '2': {'admits': 178, 'p50': 0, 'max': 710}, '3': {'admits': 177, 'p50': 0, 'max': 89}, '4': {'admits': 178, 'p50': 0, 'max': 410}} +lanes-4sel-n50-c4-gate-d3 spawns/h=[268, 173, 163] lastH: prReads=147 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=163 pk60=7 | pk60all=14 pk/mean15=3.05 + gate=d3 starts=551 max5min=20 max60s=10 admits={'selected-own': 181, 'visible': 258, 'selected-borrowed': 112} hits=268 lastGood=1804 deferredCold=361 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 2000, 'over10s': 0} max=4000 calls=3722 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 181 pk60= 4 pk5min= 5 overdueAtStartS={'p50': 115, 'p90': 220, 'max': 234} waitedS={'p50': 115, 'p90': 220, 'max': 234} + lane selected-borrowed starts= 112 pk60= 3 pk5min= 5 overdueAtStartS={'p50': 10, 'p90': 157, 'max': 200} waitedS={'p50': 10, 'p90': 157, 'max': 200} + lane visible starts= 258 pk60= 6 pk5min=15 overdueAtStartS={'p50': 218, 'p90': 690, 'max': 900} waitedS={'p50': 218, 'p90': 690, 'max': 900} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=10 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 335, 'visible': 1830} visibleIdentities={'seen': 50, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 900} + selected identity pr:feat/wt-2 starts= 81 medianGapS=80 maxGapS=288 + selected identity pr:feat/wt-7 starts= 73 medianGapS=157 maxGapS=289 + selected identity pr:feat/wt-12 starts= 68 medianGapS=189 maxGapS=280 + selected identity pr:feat/wt-17 starts= 71 medianGapS=157 maxGapS=295 + queueAgeByClient={'1': {'admits': 151, 'p50': 45, 'max': 801}, '2': {'admits': 151, 'p50': 139, 'max': 762}, '3': {'admits': 125, 'p50': 66, 'max': 750}, '4': {'admits': 124, 'p50': 140, 'max': 900}} +lanes-fg-n50-c4-gate-d3 spawns/h=[1604, 1525] lastH: prReads=1506 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=1525 pk60=35 | pk60all=36 pk/mean15=1.34 + gate=d3 starts=3085 max5min=134 max60s=35 admits={'selected-own': 120, 'visible': 221, 'interactive': 2685, 'selected-borrowed': 59} hits=406 lastGood=1950 deferredCold=375 deadlineHits=0 fgOverflow=894 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 800, 'over10s': 0} max=2400 calls=2880 fail=0 checks=0 fg=3579 lateHints=0 afterAllGone=None + lane selected-own starts= 120 pk60= 5 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 50} waitedS={'p50': 0, 'p90': 0, 'max': 50} + lane selected-borrowed starts= 59 pk60= 3 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane visible starts= 221 pk60= 6 pk5min=15 overdueAtStartS={'p50': 320, 'p90': 700, 'max': 900} waitedS={'p50': 320, 'p90': 700, 'max': 900} + lane interactive starts= 2685 pk60=24 pk5min=114 overdueAtStartS={'p50': 0, 'p90': 8, 'max': 83} waitedS={'p50': 0, 'p90': 8, 'max': 83} + budgeted pk60=11 pk5min=20 selectedTotal pk5min=10 refusals={'selected': 719, 'visible': 1606} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 900} + selected identity pr:feat/wt-2 starts= 711 medianGapS=8 maxGapS=16 + selected identity pr:feat/wt-7 starts= 726 medianGapS=8 maxGapS=16 + selected identity pr:feat/wt-12 starts= 703 medianGapS=8 maxGapS=16 + selected identity pr:feat/wt-17 starts= 724 medianGapS=8 maxGapS=16 + queueAgeByClient={'1': {'admits': 858, 'p50': 0, 'max': 900}, '2': {'admits': 737, 'p50': 0, 'max': 411}, '3': {'admits': 745, 'p50': 0, 'max': 801}, '4': {'admits': 745, 'p50': 0, 'max': 730}} +serve-after-ghes-n14-c2 spawns/h=[322, 61, 57, 49] lastH: prReads=11 auth=12 rateLimitProbes=0 reqLowerBound(auth x3)=73 pk60=9 | pk60all=32 pk/mean15=15 + gate=d3 starts=137 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 124} hits=34 lastGood=52 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 1200, 'p99': 2000, 'over10s': 0} max=2238 calls=391 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 124 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 70, 'max': 168} waitedS={'p50': 0, 'p90': 70, 'max': 168} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 89} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1627 maxGapS=1767 + queueAgeByClient={'1': {'admits': 137, 'p50': 0, 'max': 168}} +serve-after-n10-c3 spawns/h=[85, 15, 13, 12] lastH: prReads=8 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=12 pk60=3 | pk60all=12 pk/mean15=15 + gate=d3 starts=101 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 88} hits=39 lastGood=51 deferredCold=17 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 2400, 'over10s': 0} max=4400 calls=398 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 88 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 30, 'max': 80} waitedS={'p50': 0, 'p90': 30, 'max': 80} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 68} visibleIdentities={'seen': 9, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 80} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1697 maxGapS=1764 + queueAgeByClient={'1': {'admits': 7, 'p50': 10, 'max': 40}, '3': {'admits': 94, 'p50': 0, 'max': 80}} +serve-after-n14-c2-noci0 spawns/h=[108, 21, 16, 18] lastH: prReads=12 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=18 pk60=4 | pk60all=12 pk/mean15=15 + gate=d3 starts=139 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 126} hits=30 lastGood=70 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 2018, 'over10s': 0} max=2224 calls=409 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 126 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 70, 'max': 169} waitedS={'p50': 0, 'p90': 70, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 107} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1660 maxGapS=1795 + queueAgeByClient={'1': {'admits': 139, 'p50': 0, 'max': 169}} +serve-after-n14-c2-settled spawns/h=[68, 21, 19, 18] lastH: prReads=12 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=18 pk60=5 | pk60all=12 pk/mean15=15 + gate=d3 starts=103 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 90} hits=6 lastGood=64 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 3400, 'over10s': 0} max=4400 calls=307 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 90 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 110, 'max': 169} waitedS={'p50': 0, 'p90': 110, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 101} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1627 maxGapS=1798 + queueAgeByClient={'1': {'admits': 103, 'p50': 0, 'max': 169}} +serve-after-n14-c2-unfocused spawns/h=[32, 4, 4, 4] lastH: prReads=2 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=4 pk60=2 | pk60all=12 pk/mean15=15 + gate=d3 starts=31 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 18} hits=8 lastGood=20 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1800, 'over10s': 0} max=1800 calls=118 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 18 pk60= 6 pk5min=15 overdueAtStartS={'p50': 70, 'p90': 168, 'max': 169} waitedS={'p50': 70, 'p90': 168, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 57} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1686 maxGapS=1800 + queueAgeByClient={'1': {'admits': 28, 'p50': 10, 'max': 120}, '2': {'admits': 3, 'p50': 168, 'max': 169}} +serve-after-n14-c2 spawns/h=[107, 23, 17, 16] lastH: prReads=11 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=16 pk60=4 | pk60all=12 pk/mean15=15 + gate=d3 starts=138 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 125} hits=32 lastGood=66 deferredCold=37 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1800, 'over10s': 0} max=2398 calls=405 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 125 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 70, 'max': 169} waitedS={'p50': 0, 'p90': 70, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 103} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1669 maxGapS=1798 + queueAgeByClient={'1': {'admits': 138, 'p50': 0, 'max': 169}} +serve-after-n200-c1 spawns/h=[212, 211, 217, 217] lastH: prReads=169 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=217 pk60=10 | pk60all=12 pk/mean15=2.6 + gate=d3 starts=734 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 721} hits=49 lastGood=2403 deferredCold=842 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1800, 'over10s': 0} max=4000 calls=4028 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 721 pk60= 6 pk5min=15 overdueAtStartS={'p50': 2226, 'p90': 3510, 'max': 3947} waitedS={'p50': 2226, 'p90': 3510, 'max': 3947} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 3245} visibleIdentities={'seen': 199, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 3930} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1691 maxGapS=1787 + queueAgeByClient={'1': {'admits': 734, 'p50': 2217, 'max': 3947}} +serve-after-n50-c3-disjoint spawns/h=[219, 96, 56, 57] lastH: prReads=42 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=57 pk60=6 | pk60all=14 pk/mean15=15 + gate=d3 starts=367 max5min=20 max60s=9 admits={'selected-own': 26, 'visible': 341} hits=77 lastGood=784 deferredCold=240 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1670, 'over10s': 0} max=4400 calls=1784 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 26 pk60= 3 pk5min= 5 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 72} waitedS={'p50': 0, 'p90': 0, 'max': 72} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 341 pk60= 6 pk5min=15 overdueAtStartS={'p50': 80, 'p90': 760, 'max': 1005} waitedS={'p50': 80, 'p90': 760, 'max': 1005} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=9 pk5min=20 selectedTotal pk5min=5 refusals={'selected': 1, 'visible': 1023} visibleIdentities={'seen': 53, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1649 maxGapS=1770 + selected identity pr:feat/other-0 starts= 13 medianGapS=1676 maxGapS=1735 + queueAgeByClient={'1': {'admits': 305, 'p50': 26, 'max': 1005}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 45, 'p50': 10, 'max': 920}} +serve-after-n50-c3-j0 spawns/h=[209, 72, 50, 50] lastH: prReads=36 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=50 pk60=8 | pk60all=12 pk/mean15=15 + gate=d3 starts=322 max5min=18 max60s=7 admits={'selected-own': 12, 'visible': 310} hits=122 lastGood=901 deferredCold=323 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1200, 'over10s': 0} max=2000 calls=2300 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 12 pk60= 1 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 310 pk60= 6 pk5min=15 overdueAtStartS={'p50': 110, 'p90': 710, 'max': 940} waitedS={'p50': 110, 'p90': 710, 'max': 940} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=7 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 1224} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 12 medianGapS=1800 maxGapS=1801 + queueAgeByClient={'1': {'admits': 6, 'p50': 20, 'max': 40}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 299, 'p50': 10, 'max': 940}} +serve-after-n50-c3 spawns/h=[211, 76, 50, 52] lastH: prReads=36 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=52 pk60=7 | pk60all=13 pk/mean15=15 + gate=d3 starts=328 max5min=18 max60s=8 admits={'selected-own': 13, 'visible': 315} hits=123 lastGood=966 deferredCold=323 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 1514, 'over10s': 0} max=2853 calls=2383 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 13 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 315 pk60= 6 pk5min=15 overdueAtStartS={'p50': 70, 'p90': 716, 'max': 942} waitedS={'p50': 70, 'p90': 716, 'max': 942} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 1289} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 13 medianGapS=1635 maxGapS=1735 + queueAgeByClient={'1': {'admits': 7, 'p50': 10, 'max': 40}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 304, 'p50': 20, 'max': 942}} +serve-before-ghes-n14-c2 spawns/h=[1652, 1140, 1110, 1127] lastH: prReads=358 auth=35 rateLimitProbes=0 reqLowerBound(auth x3)=1197 pk60=45 | pk60all=85 pk/mean15=2.61 + gate=none starts=2650 max5min=72 max60s=28 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 1200, 'p99': 2000, 'over10s': 0} max=3000 calls=2650 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-before-n10-c3 spawns/h=[839, 820, 652, 607] lastH: prReads=522 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=607 pk60=18 | pk60all=36 pk/mean15=1.85 + gate=none starts=2920 max5min=78 max60s=30 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 600, 'p99': 2000, 'over10s': 0} max=4000 calls=2920 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-before-n14-c2-settled spawns/h=[731, 670, 418, 377] lastH: prReads=328 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=377 pk60=14 | pk60all=33 pk/mean15=2.28 + gate=none starts=2672 max5min=72 max60s=28 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1200, 'over10s': 0} max=3000 calls=2672 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-before-n14-c2 spawns/h=[729, 597, 399, 380] lastH: prReads=328 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=380 pk60=14 | pk60all=33 pk/mean15=2.36 + gate=none starts=2672 max5min=72 max60s=28 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 1800, 'over10s': 0} max=2800 calls=2672 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-before-n200-c1 spawns/h=[4958, 4918] lastH: prReads=4229 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=4918 pk60=176 | pk60all=221 pk/mean15=2.17 + gate=none starts=8659 max5min=482 max60s=200 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 800, 'p99': 1600, 'over10s': 0} max=3200 calls=8659 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-before-n50-c3 spawns/h=[3793, 3761] lastH: prReads=3239 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=3761 pk60=124 | pk60all=168 pk/mean15=1.58 + gate=none starts=6628 max5min=363 max60s=148 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 600, 'p99': 1400, 'over10s': 0} max=4600 calls=6628 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + queueAgeByClient={} +serve-oldclient-n14-c2 spawns/h=[379, 375] lastH: prReads=329 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=375 pk60=14 | pk60all=18 pk/mean15=2.39 + gate=d3 starts=670 max5min=36 max60s=14 admits={} hits=0 lastGood=0 deferredCold=0 deadlineHits=0 fgOverflow=0 legacy={'hits': 301, 'upstreamReads': 670} rpcMs={'p50': 400, 'p99': 1200, 'over10s': 0} max=2400 calls=1340 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=0 pk5min=0 selectedTotal pk5min=0 refusals={'selected': 0, 'visible': 0} visibleIdentities={'seen': 0, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 0} + queueAgeByClient={} +timeout-slow3-n14-c2 spawns/h=[106, 19] lastH: prReads=14 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=19 pk60=3 | pk60all=12 pk/mean15=15 + gate=d3 starts=109 max5min=18 max60s=8 admits={'selected-own': 9, 'visible': 100} hits=37 lastGood=62 deferredCold=44 deadlineHits=70 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 10000, 'over10s': 0} max=10000 calls=422 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 9 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 100 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 100, 'max': 158} waitedS={'p50': 0, 'p90': 100, 'max': 158} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 106} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 9 medianGapS=896 maxGapS=1758 + queueAgeByClient={'1': {'admits': 107, 'p50': 0, 'max': 158}, '2': {'admits': 2, 'p50': 50, 'max': 50}} +timeout-slow3-n50-c3 spawns/h=[211, 74] lastH: prReads=56 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=74 pk60=7 | pk60all=13 pk/mean15=10 + gate=d3 starts=243 max5min=18 max60s=8 admits={'selected-own': 9, 'visible': 234} hits=122 lastGood=943 deferredCold=323 deadlineHits=223 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 0, 'p99': 10000, 'over10s': 0} max=10000 calls=2328 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 9 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 234 pk60= 6 pk5min=15 overdueAtStartS={'p50': 379, 'p90': 745, 'max': 934} waitedS={'p50': 379, 'p90': 745, 'max': 934} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 1266} visibleIdentities={'seen': 49, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 930} + selected identity pr:feat/wt-0 starts= 9 medianGapS=872 maxGapS=1735 + queueAgeByClient={'1': {'admits': 7, 'p50': 10, 'max': 40}, '2': {'admits': 17, 'p50': 360, 'max': 440}, '3': {'admits': 219, 'p50': 379, 'max': 934}} +timeout-slow5-over-client-deadline-n14-c2 spawns/h=[105, 18] lastH: prReads=13 auth=0 rateLimitProbes=0 reqLowerBound(auth x3)=18 pk60=3 | pk60all=12 pk/mean15=15 + gate=d3 starts=107 max5min=18 max60s=8 admits={'selected-own': 9, 'visible': 98} hits=35 lastGood=54 deferredCold=37 deadlineHits=78 fgOverflow=0 legacy={'hits': 0, 'upstreamReads': 0} rpcMs={'p50': 400, 'p99': 10000, 'over10s': 0} max=10000 calls=411 fail=0 checks=0 fg=0 lateHints=0 afterAllGone=None + lane selected-own starts= 9 pk60= 2 pk5min= 3 overdueAtStartS={'p50': 0, 'p90': 0, 'max': 0} waitedS={'p50': 0, 'p90': 0, 'max': 0} + lane selected-borrowed starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + lane visible starts= 98 pk60= 6 pk5min=15 overdueAtStartS={'p50': 0, 'p90': 100, 'max': 169} waitedS={'p50': 0, 'p90': 100, 'max': 169} + lane interactive starts= 0 pk60= 0 pk5min= 0 overdueAtStartS={'p50': None, 'p90': None, 'max': None} waitedS={'p50': None, 'p90': None, 'max': None} + budgeted pk60=8 pk5min=18 selectedTotal pk5min=3 refusals={'selected': 0, 'visible': 91} visibleIdentities={'seen': 13, 'neverServed': 0, 'worstWaitFromFirstSeenToFirstStartS': 120} + selected identity pr:feat/wt-0 starts= 9 medianGapS=900 maxGapS=1794 + queueAgeByClient={'1': {'admits': 107, 'p50': 0, 'max': 169}}