Release 7.0.16-beta - #1068
Merged
Merged
Release 7.0.16-beta#1068
Conversation
Cap the macOS ramp at 40m with an INCOMPLETE marker so partial CSVs upload, flush ProbeLog and emit arm heartbeats, run nginx peers last with a stray-process sweep, document finer Mac shard counts, and add a serial Mac publish waiter.
ConvertFrom-Json may already materialize created_at as DateTime; TrimEnd on that threw and left dispatched Mac runs untracked.
Nine-way product shards need ~39-45m at repeats=3; the 40m safety cap marked them INCOMPLETE and caused redispatch churn. Healthy Silicon jobs already survive past 48m — keep the incomplete marker for true hangs.
Matches the workflow cap after nine-way shards were timing out at 40m.
Pin the Linux H2/H3/WS baseline at c6b3916 and note that the published WS H2 Linux row used a Nagle-on probe client.
Set NoDelay and write each frame header and payload as one TLS record. The old client sent two records with Nagle on, which waits out the 40 ms delayed ACK.
…ady granted When at least 4 KiB is available and it is short of a full frame, read that many bytes instead of parking for one more byte after 48 KiB. ReserveAsync stays all-or-nothing.
Consume the QuicStream write before the scratch can be reused or returned to the pool, so a sync-complete write cannot repeat the e781b00 body corruption.
These runs are the re-measure for the WebSocket harness fix, the 256 KiB H2 frame trim, and the H3 scratch. Do not mix them with the c6b3916 baseline.
Linux moves from about 1.5k to 42,050 after the probe sets NoDelay and writes one TLS record. HAProxy on the same client moves with it. Windows and macOS rows are from the same harness SHA.
Fill the macOS product, heavier, saturation, and TLS-cost tables from the finished macos-15 shards and regenerate both Mac charts. Keep the later HTTP/3 Block C re-measure, and stop the Mac waiter from retrying empty gRPC shards.
Paste the be4d4e8 Windows and Linux compare-cross-version runs against the committed 6.0 baselines.
Rank OS-possible peers 1st–3rd by sustain (RSS/CPU tie-break) so podium medals appear consistently, and teach the paste scripts the same rule.
Silver and bronze cluttered the tables; mark the sustain winner only, and match the paste scripts.
… (tls-parity sidecar)
…unters) and markdown summariser
…ty tooling in PERF-GATES
… trailing $ anchor
… + interlocked count instead of ConcurrentBag.Count) ConcurrentBag.Count freezes every per-thread list under Monitor and Rent/Release run on different workers, so the hot path serialized (about 7% of proxy-tree CPU in a Linux perf profile of reverse-http1-tls). Same-VM paired A/B (6 counterbalanced pairs, c=32, VM-only): reverse-http1 RPS +5.6% [+3.1,+8.0], CPU/req -8.0%; reverse-http1-tls RPS +6.3% [+1.1,+11.4], CPU/req -9.5%.
…-measure can finish
Approximation tildes were rendering as strikethrough. Keep the current ratios on the Performance page and record the H1 POST ratio on the profiling page.
Clear, remove, filter, import, and export walked every row and touched HAR files on the UI thread, so about 10k sessions froze the window. Update the grid in one reset and read or delete HAR files in the background.
…oor (#1063) * ci(rps): sample cpu-clock when perf has no hardware counters Cloud VMs report cycles as not supported. profile-arm.sh falls back to cpu-clock so the same call-stack capture still runs. * docs(wiki): classify the unprofiled Linux body, POST and new-connection rows A 4 vCPU cloud profile found no Titanium self frame above the 1.5% gate, so those rows stay a C# floor or handshake noise and no product change was kept. * fix(inspector): publish archive and HAR status on the dispatcher Off-thread export and import resumed through the UI sync context, which headless RunJobs does not drain, so StatusText stayed on Exporting or Importing. Post the outcome and flush the toast while the app is still up. * ci: let a maintainer-owned PR touch NC paths when a bot pushes The path guard keyed only off github.actor, so a cloud agent push to a justcoding121 pull request was rejected even though the PR author is a maintainer. * test(e2e): wait for archive export status before copying the zip File.Exists becomes true when the zip is created, before the central directory is written. Copying at that point imports a corrupt archive. * fix(inspector): skip window toasts when the host is headless WindowNotificationManager.Show posts the card and closes it from Task.Delay. Headless drains that post before the animation clock exists, and the close later runs off the UI thread and crashes the test host. Status text is unchanged. * test(inspector): allow Windows working-set noise in the spill backstop A spilled capture grew 181MB on the Windows build job with bodies already on disk. The in-memory body cap remains the leak check. * fix(inspector): present HAR and archive status after the dispatcher is live Headless Dispatch runs queued jobs in ResetForUnitTests before IGlobalClock exists. The notification Show is async void, so that toast threw and its Close resumed off the UI thread. * test(e2e): snapshot the session list while capture is still adding rows The Ubuntu UI job enumerated Sessions on the test thread while the capture reader mutated it, so Any threw Collection was modified. * test(inspector): cover deferred archive UI for the coverage gate The new-code gate only counts the Windows unit-suite report. Exercise the live-dispatcher queue, failure reports, and background read/write paths from that suite. * ci(rps): use the same 345-minute ramp cap on macOS Unsherded Mac compare-product hit the 180-minute step limit (run 37110567901) while Linux/Windows still had headroom. * test(inspector): cover live-dispatcher HAR export and import status New code coverage was 54.8 percent, under the 80 percent gate. The headless dispatcher path was only exercised by UI tests, which are outside the coverage run. --------- Co-authored-by: justcoding121 <justcoding121@users.noreply.github.com>
…#1064) * perf(rps): retire the 7.0 vs 6.0 cross-version comparison Drop the Cross-version wiki table, the compare-cross-version mode, validate-cross-version.ps1 and the committed 6.0 baseline CSVs. The 7.0-vs-6.0 release gate is retired; compare-bridges (protocol bridging) stays. * perf(rps): run one wiki row per job Add a comparison-group key to --arm-shard and --print-groups, and an RPS suite workflow that runs each wiki row as its own job on each OS. A row leg is capped at 60 minutes of ramp so a wedged runner loses one row, and the suite fails unless every row reports success. --------- Co-authored-by: justcoding121 <justcoding121@users.noreply.github.com>
The suite prep job lists comparison groups before the runner has libmsquic, so QuicListener was unsupported and every HTTP/3 wiki row was silently dropped on all three OS. The group list is now host-independent; the legs still apply the real capability filters when they ramp. Co-authored-by: justcoding121 <justcoding121@users.noreply.github.com>
Piping a single comparison group through ConvertTo-Json emitted a string, so saturation, editions, and the WebSocket modes never started their OS jobs. Co-authored-by: justcoding121 <justcoding121@users.noreply.github.com>
One SHA covers product, heavier, saturation, editions, gRPC, and WebSocket. Paste and chart scripts now read every shard CSV in a run, so a suite folder is not reduced to its first row. Co-authored-by: justcoding121 <justcoding121@users.noreply.github.com>
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
v7.0.16-betafrom develop (ba81d61a). VersionPrefix is 7.0.16.0386b2aa. Chocolatey stays skipped (SKIP_CATALOG_PUBLISH=true). Winget PRs and the Homebrew tap are not part of this beta.Test plan
.NET / build, ui-portable and cli-e2e on Windows, Linux, and macOS