Repository navigation
fix(next perf gate): an unlit window skips the timed tab switch and new workspace counts - #23422
Conversation
…new workspace counts (red) On the PR scheme lane's runner the window draws no frames (frame probe: 8 in 1 s), so debug.tab_switch and debug.new_workspace time nothing and the gate fails 'timed 0 of 40' and 'timed 0 of 50' instead of the frame probe's skip that every other frame check takes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
…ew workspace counts debug.tab_switch and debug.new_workspace time each switch or row against the display link (SwitchFrameTimer records nothing without a refresh interval), so on the PR scheme lane's unlit runner both scenarios failed 'timed 0 of N' (f06e1d7, 5809c6c) while every other frame-dependent check took the frame probe's skip. No rows on a window that draws no frames is now that skip; --frames required still fails, and a lit window that times nothing still fails. No budget changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
|
Owned by transcript-removals on cosmic-gray · session |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base f7a4033; does not block |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
|
Correction to the receipt above: the earlier head's |
|
Found 6 test failures on Blacksmith runners: Failures
|
|
Shipped in:
|
Summary
The perf gate's
tabsandnew_workspacesscenarios faildebug.tab_switch timed 0 of 40 switchesanddebug.new_workspace timed 0 of 50 new workspace rowson the PR scheme lane (#23308 run 39584287796, "Perf counter gate"). That runner's window draws no frames (the frame probe saw 8 in 1 s,refresh_ms0), and the app times each switch and row against the display link:SwitchFrameTimerrecords nothing without a refresh interval. Every other frame-dependent check is gated byframes_okand takes the probe's skip there; these two counts were not (f06e1d7 for tabs, 5809c6c / #21825 for new workspaces). Both were already red on 10-19; the gate did not really run until f66b984 stopped a launch-time red from skipping it.Gate.timed_countmakes "no rows on a window that draws no frames" that same skip. Nothing else changes:--frames required(the GUI host), no frames is still a failure.Testing
python3 tests/test_cmux_next_perf_gate_unlit.py(new, registered inlinux-guard) drives both scenarios with a fake app whose timers record nothing. On huge-blue:--frames auto, the failures were[tabs] debug.tab_switch timed 0 of 40 switchesand[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rowsrather than the skip.Observed / Not run
frames_probe8 frames in cmux NEXT Home: the thought headline is a String extension (fixes the namespace-type base red) #23308's perf-gate.json.Changelog
none
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Makes the perf gate skip
debug.tab_switchanddebug.new_workspacetimed counts when the window draws no frames, instead of failing with "timed 0 of N". Those two scenarios previously failed on the unlit CI runner while every other frame-dependent check already took the frame probe's skip.Gate.timed_countto treat no rows on a window that draws no frames as the skip;--frames requiredstill fails on no frames, and a lit window that times fewer counts still fails.tests/test_cmux_next_perf_gate_unlit.pycovering the skip, the required-frames failure, and the lit-window failure, and registers it in thelinux-guardlane.Written for commit ff88485. Summary will update on new commits.