Skip to content

probe(audience): revert log-pane suppression to test Unity 6 stall hypothesis#767

Closed
ImmutableJeffrey wants to merge 3 commits intochore/audience-trim-unused-depsfrom
chore/audience-revert-logpane-suppression-probe
Closed

probe(audience): revert log-pane suppression to test Unity 6 stall hypothesis#767
ImmutableJeffrey wants to merge 3 commits intochore/audience-trim-unused-depsfrom
chore/audience-revert-logpane-suppression-probe

Conversation

@ImmutableJeffrey
Copy link
Copy Markdown
Collaborator

Probe PR. Reverts f2f7037 only.

Hypothesis: the log-pane display:none on Unity 6 stalls UI Toolkit's panel scheduler, so SDK Log.Writer entries (queued via _logView.schedule.Execute) never reach the visual tree, and tests time out at the 30 sec WaitForLogEntry budget.

Evidence so far on PR #765 with the suppression in place:

  • HTTP per-request median 3 ms on both Unity versions.
  • HTTP total time on Unity 6 cell: 12 sec (1% of run).
  • Unity 6 wall time: 1178 sec (99% non-HTTP).
  • Per-test wall pegged at ~33 sec on Unity 6 vs ~1.8 sec on Unity 2021.3.

If reverting the suppression brings Unity 6 cells close to Unity 2021.3 timings, hypothesis confirmed and the suppression approach was the wrong knob. If Unity 6 stays at ~30 sec/test, the cause is elsewhere and we look further.

Stack-style probe; not for merge.

…tries

The previous matrix combined a cartesian product (unity x target x
backend) with partial-key include entries that attached changeset and
runner. Verified on runs 25604434621 (PR 754) and 25613048568 (PR 765)
that the partial-include merge silently fails: matrix.runner ends up
unset on every combo, runs-on resolves to empty, and the playmode job
spawns zero jobs. Win/Mac PlayMode coverage has therefore been missing
from every PR stacked on this branch.

Replace with 12 fully-attributed explicit include entries, one per
cell, plus the existing pull_request exclude that drops the 2022.3.62f2
cells on PR runs. This is a verbose but bulletproof shape: every key
is set on every combo, no partial-key merge required.
…chAsync

Temporary diagnostic for the Unity 6 Linux PlayMode regression. Tests
on Unity 6 Mono Linux take ~33 sec each vs ~1.8 sec on Unity 2021.3
Mono Linux for the same suite, same llvmpipe, same network endpoint.

T1 logs request start, T2 logs response received (continuation back on
the main thread), T3 logs batch deletion done. Comparing T1->T2 vs
T2->T3 gaps across Unity versions disambiguates whether the stall is
inside HttpClient.SendAsync (network/socket/TLS regression in Unity 6
Mono on Linux) or in the awaiter continuation (SyncContext dispatch
regression on Unity 6 Linux player loop).

To revert: drop this commit.
@ImmutableJeffrey ImmutableJeffrey force-pushed the chore/audience-revert-logpane-suppression-probe branch from 527720f to 58613ed Compare May 10, 2026 02:25
@ImmutableJeffrey ImmutableJeffrey changed the base branch from chore/audience-linux-perf-test-polling to chore/audience-trim-unused-deps May 10, 2026 02:25
@ImmutableJeffrey
Copy link
Copy Markdown
Collaborator Author

Probe complete. Hypothesis disproven: log-pane suppression was NOT the cause of the 30 sec/test stall on Unity 6 Linux. Removing it made Unity 6 cells slower by 5-7 min, confirming the suppression is a real win there. But the cause of the remaining 30 sec/test gap is elsewhere. PR #765 updated to keep the suppression but gate to Unity 6 only (Unity 2021.3 also got faster without it).

ImmutableJeffrey added a commit that referenced this pull request May 10, 2026
Probe PR #767 showed Unity 2021.3 Linux cells regressed by 38s-2:24 with
the suppression in place; Unity 6 Linux cells improved by ~7 min. Add
UNITY_6000_0_OR_NEWER to the #if so 2021.3 and 2022.3 Linux cells are
unaffected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant