Jinwoo Hong
a634bf9b49
test(bench): runtime-graph publication probe and optional CDP CPU throttle ( #21107 )
...
* test(bench): count runtime-graph publications from main
The build-provided `__orcaBenchmarkInstrumentation` is gone from the tree, so
the typing bench could no longer report graph-publication counts at all. The
renderer cannot supply them either: `window.api` is frozen by contextBridge,
so `runtime.syncWindowGraph` is not wrappable.
Count them where they land instead — main's `runtime:syncWindowGraph` invoke
handler — behind ORCA_TYPING_BENCH_GRAPH_PROBE=1, and record the result in the
bench report. Measured on an 870-worktree fixture: 21 publications over a 50 s
metadata-only window versus ~1,205 with recurring OSC title/status traffic.
The long-task fields ship unproven: an injected 250 ms renderer busy-wait
produced zero entries even though `longtask` is in `supportedEntryTypes`, so
their zeros mean "oracle unverified", not "no long task". The self-test knob
exists to make that falsifiable, and the file says so; per-publication build
time still needs a separate --cpu-profile run.
* test(bench): optional CDP CPU throttle around the typing window
* test(bench): report the throttle that ran and the long task the self-test caused
Two ways the bench could misreport its own conditions.
`cpuThrottleRate` was the requested rate, written into every report, but only
two of the three scenarios wrapped their typing window in the throttle — a
`--cpu-throttle 4` visible-split run claimed a 4x throttle it never applied.
Recording the rate per scenario would have made the report honest; it would
also have left one scenario silently ignoring the flag, and a fourth scenario
would inherit the same omission. So both: every scenario now goes through one
`measureTypingWindow` helper, and the value it returns is the rate the throttle
actually applied. `writeBenchReport` takes that composite instead of a bare
measurement, so a scenario cannot produce a report without saying what it ran
under. Unthrottled runs are unchanged — rate 1 still opens no CDP session.
`selfTestLongTaskMs` took the *earliest* long task starting before a cutoff
captured after the busy-wait. The observer has been live since probe start, so
any unrelated long task from fixture setup satisfied it — the field whose whole
job is to prove the oracle is live was the easiest one to fake. The busy-wait
now reports its own renderer-clock bounds and the matching entry is the one
containing their midpoint: main-thread tasks never overlap, so at most one can,
and it is the task the busy-wait ran in. That entry is then withheld from
`longTasks`, `longestLongTasks`, and `longTasksAroundPublication`, which had
been counting the oracle's injected 250 ms as workload.
A zero still means "oracle unproven" — it now also means it honestly.
* test(bench): stop the graph probe when the typing run throws
* test(e2e): drain queued long-task records before the probe disconnects
2026-09-17 17:32:20 -04:00
..
2026-09-17 12:59:03 -07:00
2026-09-06 02:48:34 -07:00
2026-09-16 15:27:35 -07:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-07-20 01:14:17 -07:00
2026-09-06 11:23:24 -07:00
2026-09-05 13:39:56 -07:00
2026-08-13 12:48:47 -07:00
2026-07-15 13:25:24 -07:00
2026-07-28 12:33:17 -07:00
2026-07-13 19:13:19 -07:00
2026-07-28 12:33:17 -07:00
2026-06-10 17:23:12 -07:00
2026-09-16 12:12:59 -04:00
2026-08-07 20:36:23 -07:00
2026-08-10 15:52:59 -07:00
2026-08-10 15:52:59 -07:00
2026-08-30 11:45:21 -07:00
2026-08-30 11:45:21 -07:00
2026-06-19 17:14:55 -07:00
2026-06-11 12:46:43 -07:00
2026-09-07 00:25:16 -07:00
2026-08-30 11:45:21 -07:00
2026-07-10 17:27:47 -07:00
2026-07-30 18:51:11 -07:00
2026-08-11 21:16:36 -07:00
2026-06-07 18:16:53 -07:00
2026-07-20 03:04:28 -04:00
2026-06-08 01:00:29 -07:00
2026-08-30 11:45:21 -07:00
2026-06-28 23:13:03 -07:00
2026-09-07 22:34:19 -07:00
2026-09-02 13:42:14 -07:00
2026-08-17 14:53:19 -07:00
2026-07-20 22:04:01 -04:00
2026-08-12 16:07:08 -07:00
2026-08-03 13:02:56 -07:00
2026-08-17 14:53:19 -07:00
2026-08-03 13:02:56 -07:00
2026-09-04 23:31:25 -04:00
2026-09-04 23:31:25 -04:00
2026-08-11 03:07:44 -07:00
2026-09-14 01:45:34 -07:00
2026-08-31 02:46:17 -04:00
2026-08-25 15:36:51 -07:00
2026-08-29 15:43:36 -07:00
2026-09-05 21:38:35 -07:00
2026-06-29 23:37:30 -07:00
2026-08-11 18:19:43 -07:00
2026-08-25 15:36:51 -07:00
2026-08-11 18:19:43 -07:00
2026-08-04 22:07:30 -07:00
2026-07-20 18:18:11 -07:00
2026-09-06 14:34:03 -04:00
2026-09-08 05:14:59 -04:00
2026-06-07 17:49:01 -07:00
2026-08-15 00:41:45 -07:00
2026-08-06 21:18:52 -07:00
2026-08-29 01:50:38 -07:00
2026-06-17 20:05:55 -07:00
2026-08-17 23:28:38 -07:00
2026-07-21 20:51:28 -07:00
2026-08-07 22:33:50 -07:00
2026-06-29 22:38:29 -07:00
2026-07-25 13:42:28 -07:00
2026-06-29 22:38:29 -07:00
2026-05-13 18:48:14 -07:00
2026-05-13 18:48:14 -07:00
2026-08-03 22:55:17 -07:00
2026-08-22 21:40:47 -07:00
2026-05-30 22:46:38 -07:00
2026-05-30 22:46:38 -07:00
2026-07-26 23:48:20 -07:00
2026-07-06 02:12:32 -07:00
2026-06-19 17:14:55 -07:00
2026-08-23 14:25:03 -07:00
2026-09-05 14:18:22 -07:00
2026-08-14 19:04:55 -04:00
2026-09-07 19:24:34 -07:00
2026-09-05 14:18:22 -07:00
2026-09-05 19:45:42 -07:00
2026-04-27 20:55:47 -07:00
2026-08-24 19:32:52 -07:00
2026-06-22 16:27:33 -07:00
2026-07-29 21:43:45 -07:00
2026-08-26 22:17:59 -07:00
2026-09-06 18:48:40 -07:00
2026-08-30 15:14:49 -07:00
2026-09-05 13:39:56 -07:00
2026-09-05 13:39:56 -07:00
2026-09-14 14:54:53 -07:00
2026-08-14 00:33:15 -07:00
2026-09-06 00:31:07 -07:00
2026-07-05 19:46:49 -07:00
2026-08-11 03:07:44 -07:00
2026-09-15 01:24:30 -07:00
2026-09-13 15:43:12 -07:00
2026-08-17 23:28:38 -07:00
2026-09-06 03:29:05 -07:00
2026-09-06 03:29:05 -07:00
2026-08-13 10:31:08 -07:00
2026-09-09 10:42:18 -07:00
2026-08-13 09:56:30 -07:00
2026-09-06 01:48:47 -07:00
2026-08-13 00:58:55 -07:00
2026-08-13 00:58:55 -07:00
2026-08-13 10:26:20 -07:00
2026-08-13 10:31:08 -07:00
2026-08-13 09:31:20 -07:00
2026-08-13 09:56:30 -07:00
2026-08-31 22:22:17 -04:00
2026-08-24 08:58:19 -07:00
2026-08-28 00:55:45 -07:00
2026-08-12 21:28:32 -07:00
2026-09-07 19:24:34 -07:00
2026-08-26 12:48:52 -07:00
2026-07-31 00:22:53 -07:00
2026-07-29 20:04:55 -07:00
2026-08-21 17:11:17 -07:00
2026-08-05 12:57:02 -07:00
2026-08-05 17:49:04 -07:00
2026-08-19 15:47:31 -07:00
2026-08-25 15:36:51 -07:00
2026-08-19 15:47:31 -07:00
2026-09-02 14:05:29 -07:00
2026-08-11 18:19:43 -07:00
2026-07-31 18:01:24 -07:00
2026-08-31 09:20:12 -07:00
2026-08-04 22:07:30 -07:00
2026-07-20 14:50:12 -07:00
2026-08-04 12:37:59 -07:00
2026-08-09 16:35:24 -07:00
2026-09-15 01:24:30 -07:00
2026-09-05 16:11:04 -07:00
2026-08-21 17:11:17 -07:00
2026-08-25 15:36:51 -07:00
2026-07-22 16:10:53 -07:00
2026-08-27 13:44:03 -07:00
2026-08-25 16:46:42 -07:00
2026-07-17 18:57:26 -07:00
2026-07-23 23:18:03 -07:00
2026-09-14 16:36:06 -07:00
2026-08-27 16:59:38 -07:00
2026-05-25 16:43:22 -07:00
2026-07-04 23:29:05 -07:00
2026-09-15 17:32:54 -07:00
2026-09-16 00:05:29 -07:00
2026-07-31 01:57:41 -07:00
2026-06-22 12:29:18 -07:00
2026-09-05 13:39:56 -07:00
2026-09-17 00:51:34 -07:00
2026-09-16 15:27:35 -07:00
2026-09-16 00:44:11 -07:00
2026-09-14 18:31:40 -07:00
2026-09-06 09:51:31 -07:00
2026-07-22 18:25:05 -07:00
2026-09-15 22:08:40 -07:00
2026-09-07 19:24:34 -07:00
2026-09-07 19:24:34 -07:00
2026-07-30 03:05:10 -07:00
2026-08-13 22:48:24 -07:00
2026-09-14 13:56:18 -07:00
2026-09-16 15:27:35 -07:00
2026-07-19 11:27:29 -07:00
2026-09-11 18:37:16 -07:00
2026-09-06 14:34:03 -04:00
2026-08-23 09:45:52 -07:00
2026-08-23 09:45:52 -07:00
2026-08-09 14:49:36 -07:00
2026-07-30 00:49:23 -07:00
2026-07-30 00:49:23 -07:00
2026-09-06 20:16:38 -07:00
2026-09-06 14:34:03 -04:00
2026-09-06 14:34:03 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-08-25 15:36:51 -07:00
2026-08-13 22:40:58 -07:00
2026-09-07 22:34:19 -07:00
2026-08-21 17:11:17 -07:00
2026-08-25 15:36:51 -07:00
2026-08-31 19:47:27 -07:00
2026-08-31 19:47:27 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-08-31 19:47:27 -07:00
2026-08-25 15:36:51 -07:00
2026-09-06 20:09:39 -07:00
2026-09-06 18:55:26 -07:00
2026-08-25 23:18:30 -07:00
2026-08-25 15:36:51 -07:00
2026-08-29 22:38:59 -07:00
2026-08-23 16:47:12 -07:00
2026-08-25 15:36:51 -07:00
2026-09-02 10:39:46 -07:00
2026-08-25 15:36:51 -07:00
2026-09-06 19:14:37 -07:00
2026-08-13 22:48:24 -07:00
2026-08-30 03:07:20 -04:00
2026-09-08 00:37:21 -07:00
2026-08-25 15:36:51 -07:00
2026-09-05 17:26:54 -07:00
2026-08-30 03:11:55 -04:00
2026-09-05 23:44:45 -07:00
2026-08-03 19:44:30 -07:00
2026-07-30 18:27:06 -07:00
2026-07-30 03:05:10 -07:00
2026-08-31 08:17:40 -07:00
2026-09-05 21:08:18 -07:00
2026-07-29 20:04:55 -07:00
2026-09-11 04:50:42 -07:00
2026-07-29 20:04:55 -07:00
2026-09-05 16:43:41 -07:00
2026-08-25 15:36:51 -07:00
2026-08-12 22:33:19 -07:00
2026-09-15 16:18:36 -07:00
2026-08-29 22:37:05 -07:00
2026-08-23 12:21:15 -07:00
2026-09-07 19:35:19 -07:00
2026-07-27 17:56:07 -07:00
2026-07-27 17:56:07 -07:00
2026-07-28 12:33:17 -07:00
2026-07-27 17:56:07 -07:00
2026-09-06 19:14:42 -07:00
2026-08-22 16:08:21 -07:00
2026-09-12 01:19:07 -07:00
2026-09-15 01:24:30 -07:00
2026-07-15 17:14:10 -07:00
2026-08-20 02:15:42 -07:00
2026-08-01 00:00:12 -07:00
2026-09-16 15:27:35 -07:00
2026-09-12 16:00:54 -07:00
2026-09-11 11:43:48 -07:00
2026-09-02 23:32:41 -07:00
2026-09-06 19:14:39 -07:00
2026-08-13 12:38:08 -07:00
2026-08-13 22:48:24 -07:00
2026-08-25 15:36:51 -07:00
2026-07-12 22:40:57 -07:00
2026-08-13 22:48:24 -07:00
2026-08-03 22:48:37 -07:00
2026-09-12 20:35:48 -07:00
2026-07-27 19:04:56 -07:00
2026-06-29 22:38:29 -07:00
2026-09-05 17:26:54 -07:00
2026-07-17 17:18:36 -07:00
2026-09-10 17:42:50 -07:00
2026-07-12 22:40:57 -07:00
2026-09-05 15:12:19 -07:00
2026-07-28 20:51:14 -07:00
2026-09-17 17:32:20 -04:00
2026-09-17 17:32:20 -04:00
2026-09-11 03:19:01 -04:00
2026-09-11 15:28:16 -07:00
2026-08-26 22:30:48 -07:00
2026-09-11 15:28:16 -07:00
2026-09-05 15:12:19 -07:00
2026-08-13 22:48:24 -07:00
2026-09-15 22:03:16 -07:00
2026-08-13 22:48:24 -07:00
2026-08-08 17:15:43 -07:00
2026-08-13 02:56:43 -07:00
2026-09-08 05:14:59 -04:00
2026-08-13 02:56:43 -07:00
2026-09-05 15:04:52 -07:00
2026-09-05 15:04:52 -07:00
2026-08-09 01:32:34 -07:00
2026-09-11 18:37:16 -07:00
2026-07-05 19:46:49 -07:00
2026-07-25 19:31:44 -07:00
2026-09-06 02:03:40 -07:00
2026-09-06 11:25:52 -07:00
2026-08-13 12:38:08 -07:00
2026-08-31 14:56:15 -04:00
2026-09-06 01:09:18 -07:00
2026-09-05 17:39:02 -07:00
2026-09-05 17:39:02 -07:00
2026-09-07 19:29:53 -07:00
2026-09-16 13:10:46 -04:00
2026-07-04 22:56:55 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-09-06 11:25:58 -07:00
2026-06-22 16:42:20 -07:00
2026-09-06 11:25:58 -07:00
2026-09-06 11:25:58 -07:00
2026-09-06 11:25:58 -07:00
2026-09-05 17:24:12 -07:00
2026-06-22 16:42:20 -07:00
2026-09-16 22:24:33 -07:00
2026-09-06 20:00:08 -07:00
2026-08-11 03:07:44 -07:00
2026-08-28 00:59:21 -07:00
2026-08-13 08:58:04 -07:00
2026-09-06 07:42:50 -07:00
2026-09-07 19:51:44 -07:00
2026-09-05 13:53:27 -07:00
2026-09-02 05:36:54 -07:00
2026-08-29 20:15:10 -07:00
2026-08-10 17:33:46 -07:00
2026-09-06 14:39:25 -04:00
2026-09-02 15:58:42 -07:00
2026-09-06 20:24:21 -07:00
2026-07-12 23:50:00 -07:00
2026-08-25 15:36:51 -07:00
2026-07-24 12:05:38 -07:00
2026-08-02 20:43:27 -07:00
2026-09-06 10:37:04 -07:00
2026-08-27 19:47:15 -07:00
2026-08-28 14:16:50 -07:00
2026-07-31 00:36:09 -07:00
2026-08-27 19:40:38 -07:00
2026-09-16 22:24:33 -07:00
2026-08-25 15:36:51 -07:00
2026-08-25 15:36:51 -07:00
2026-09-05 16:43:41 -07:00
2026-08-12 22:33:19 -07:00
2026-08-26 09:50:12 -07:00
2026-07-20 18:54:44 -07:00
2026-07-20 18:54:44 -07:00
2026-08-16 13:45:54 -07:00
2026-08-24 22:46:29 -07:00
2026-08-04 17:11:18 -07:00
2026-09-14 10:28:16 -07:00
2026-09-15 23:38:04 -07:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-07-05 21:51:32 -07:00
2026-08-17 23:28:38 -07:00
2026-09-12 19:56:29 -07:00
2026-06-19 17:14:55 -07:00
2026-09-05 16:11:04 -07:00
2026-05-16 11:50:26 -07:00
2026-09-06 19:15:57 -07:00
2026-09-11 18:37:16 -07:00
2026-08-10 15:52:59 -07:00
2026-09-16 15:27:35 -07:00
2026-09-15 02:00:27 -07:00
2026-06-29 22:38:29 -07:00
2026-07-20 03:04:28 -04:00
2026-09-05 16:26:36 -07:00
2026-08-08 19:06:50 -07:00
2026-09-07 19:24:34 -07:00
2026-07-14 02:58:34 -07:00
2026-07-05 21:51:32 -07:00
2026-06-20 02:03:24 -07:00
2026-09-02 13:05:24 -07:00
2026-06-10 21:14:53 -07:00
2026-06-19 19:43:42 -07:00
2026-09-06 19:27:12 -07:00
2026-08-30 11:45:21 -07:00
2026-08-16 01:16:11 -07:00
2026-09-06 19:27:12 -07:00
2026-09-06 19:02:54 -07:00
2026-08-17 17:12:40 -07:00
2026-08-26 19:49:26 -07:00
2026-08-30 11:45:21 -07:00
2026-08-30 11:45:21 -07:00
2026-07-12 22:40:57 -07:00
2026-08-30 01:58:32 -07:00
2026-06-09 13:52:58 -07:00
2026-08-08 19:06:50 -07:00
2026-08-09 16:06:00 -07:00
2026-08-14 01:47:03 -07:00
2026-08-30 01:58:32 -07:00
2026-07-29 16:12:20 -07:00
2026-08-30 03:12:22 -07:00
2026-08-08 19:06:50 -07:00
2026-08-30 02:23:04 -07:00
2026-08-11 00:10:40 -07:00
2026-08-14 01:47:03 -07:00
2026-08-29 14:13:35 -07:00
2026-07-19 22:54:39 -04:00
2026-08-15 00:13:27 -07:00
2026-08-30 02:23:04 -07:00
2026-08-30 03:12:22 -07:00
2026-08-14 01:47:03 -07:00
2026-06-19 17:14:55 -07:00
2026-08-11 12:27:54 -07:00
2026-08-11 18:19:43 -07:00
2026-07-30 03:05:10 -07:00
2026-07-10 17:27:47 -07:00
2026-08-08 19:06:50 -07:00
2026-08-09 18:40:01 -07:00
2026-08-13 10:26:20 -07:00
2026-09-17 17:32:20 -04:00
2026-06-20 01:27:41 -07:00
2026-06-20 01:27:41 -07:00
2026-08-16 12:49:02 -07:00
2026-08-30 11:45:21 -07:00
2026-06-27 09:30:29 -07:00
2026-08-13 23:59:18 -07:00
2026-08-15 00:54:20 -07:00
2026-07-12 22:40:57 -07:00
2026-08-15 00:54:20 -07:00
2026-09-05 20:59:33 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-31 08:17:40 -07:00
2026-07-14 00:15:34 -07:00
2026-07-29 00:47:18 -07:00
2026-08-11 18:19:43 -07:00
2026-07-15 20:28:39 -07:00
2026-06-24 20:16:14 -07:00
2026-07-17 17:18:36 -07:00
2026-07-17 17:18:36 -07:00
2026-06-20 02:03:24 -07:00
2026-07-16 13:26:15 -07:00
2026-09-11 04:50:42 -07:00
2026-06-22 16:42:20 -07:00
2026-07-10 17:27:47 -07:00
2026-09-06 00:28:38 -07:00
2026-08-05 00:51:33 -07:00
2026-06-22 16:42:20 -07:00
2026-07-17 17:18:36 -07:00
2026-07-29 00:47:18 -07:00
2026-08-24 00:01:53 -07:00
2026-07-13 14:17:49 -07:00
2026-06-23 00:23:34 -07:00
2026-09-05 16:31:11 -07:00
2026-09-17 03:00:17 -07:00
2026-09-06 14:34:03 -04:00
2026-08-06 20:07:55 -07:00
2026-07-22 00:22:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-08-31 16:45:36 -07:00
2026-06-19 17:14:55 -07:00
2026-08-01 03:26:30 -07:00
2026-07-10 17:27:47 -07:00
2026-08-19 14:58:00 -07:00
2026-08-03 22:48:22 -07:00
2026-08-03 22:48:22 -07:00
2026-06-23 00:23:34 -07:00
2026-07-20 03:04:28 -04:00
2026-09-06 21:17:00 -07:00
2026-07-05 21:51:32 -07:00
2026-07-05 21:51:32 -07:00
2026-06-12 16:31:24 -07:00
2026-09-16 13:10:46 -04:00
2026-07-16 12:38:31 -07:00
2026-09-06 19:27:12 -07:00
2026-06-22 16:42:20 -07:00
2026-07-13 21:30:10 -07:00
2026-07-20 18:54:44 -07:00
2026-09-06 01:53:16 -07:00
2026-09-06 02:26:00 -07:00
2026-08-03 01:00:58 -07:00
2026-09-06 05:24:54 -07:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-09-16 13:10:46 -04:00
2026-08-30 11:45:21 -07:00
2026-09-12 19:56:46 -07:00
2026-05-15 23:52:37 -07:00
2026-06-07 17:49:01 -07:00
2026-08-17 23:28:38 -07:00
2026-06-29 22:38:29 -07:00
2026-09-06 02:14:42 -07:00
2026-08-29 22:37:05 -07:00
2026-08-22 11:00:01 -07:00
2026-09-05 23:50:30 -07:00
2026-08-09 20:25:15 -07:00
2026-08-09 21:39:24 -07:00
2026-08-19 22:39:48 -07:00
2026-09-15 01:24:30 -07:00
2026-08-30 11:45:21 -07:00
2026-08-24 10:12:38 -07:00
2026-09-06 18:20:49 -07:00
2026-08-19 22:39:48 -07:00
2026-07-13 16:15:44 -07:00
2026-07-22 15:52:42 -07:00
2026-07-31 16:15:20 -07:00
2026-06-29 22:38:29 -07:00
2026-06-18 00:11:32 -07:00
2026-09-05 22:03:19 -07:00
2026-08-13 22:48:24 -07:00
2026-09-11 20:25:49 -07:00
2026-08-17 23:28:38 -07:00
2026-09-07 19:45:54 -07:00