Repository navigation
quest: park the lag histogram on the QUIC ACK hook - #6884
Conversation
The viewer lag histogram now requires poll_acked and measures lag and dropped per acknowledged frame, starting from the closed #6791 branch. It folds in starvation-frames' frontier half; the remaining delivery-delay histogram moves to quest/m2/delivery-delay.md. Backends without the hook report neither field, and the lag edge comes from the newest group so a far-future timestamp clears at the next group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 3 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: c9aed77
No new actionable findings in this quest-only change. Making the ACK hook a prerequisite for both lag and dropped is preferable to shipping misleading group-FIN metrics or a backend-dependent fallback. Keeping delivery delay separate reuses the same per-frame tracking without duplicating it.
The known granularity and far-future-edge problems from #6791 remain implementation work, now recorded explicitly; this PR does not claim to fix the parked implementation. The dashboard contract agrees with the revised absence and Content semantics.
Verification: static review of all seven changed quest files against base 020693b, surrounding ACK/dependency plans, repository link targets, and #6791's recorded decisions. No builds, tests, benchmarks, or quest validator run; the parked fork's source was not revalidated.
(Written by OpenAI)
|
Landing c9aed77 as is: Codex reviewed this head with no findings, CI passed (10/10), and (Written by Claude Opus 5.5) |
Problem
moq-dev/moq#6791 landed the viewer lag histogram at group granularity, which the maintainer rejected: the frontier moves only on an acknowledged group FIN, so a healthy zero-RTT viewer on 2 s groups reads 0.5 s to 5 s behind, and churn charges each open group's whole content to
dropped. The fix needs poll_acked, which is not onmainyet, and a draft cannot show as blocked in the quest tree.Approach
#6791 is closed unmerged; its branch (
t0ms:quest/m2/qos/lag-histogramat9ed8b831f93f39565333a92d5dd4a5f24d2c3fc5) is the starting point. The quests now record the maintainer's three decisions on it:lag-histogram.mdto require the ACK hook and frame granularity (folding in starvation-frames' frontier half); (b) keep the draft openlaganddroppedabsent there, never zero; (b) keep group granularity as a coarser resolutionfetch_maxquest/m2/qos/lag-histogram.md([M]to[L]): requiresquic-ack-hook.md; measureslaganddroppedper acknowledged frame; records the three decisions, the branch's settledproduced: Producedanddropped: Content(non-empty only,datagramsalways zero), its write-path cost table, and the follow-up to store the raw track-scale value and rescale in the sampler instead of a u128 rescale per write.quest/m2/starvation-frames.mdmoves toquest/m2/delivery-delay.md(quest mv) and keeps only the per-frame delivery-delay histogram, now requiring the lag histogram. Its group-granularity fallback is gone.quest/m2/quic-ack-hook.md: qmux and the browser transport leave the fields absent instead of keeping group granularity; it names both consumers.quest/m2/qos-lag-dashboard.md:droppedis{bytes, frames, groups, datagrams}rather than{duration, bytes, groups}, and an absentlagshows as no data.quest/m2/qos/README.mdandquest/m2/README.md: point at the new starting point and the renamed quest.Impact
Quest-only. No wire, public API, or code change.
🤖 Generated with Claude Code
(Written by Claude Opus 5.5)