-
Couldn't load subscription status.
- Fork 49.7k
[Flight] Write Debug Info to Separate Priority Queue #33654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+354
−135
Conversation
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
unstubbable
reviewed
Jun 27, 2025
This requires some forks to avoid contanimating the main stream and to avoid the main stream having hard dependencies on the debug stream.
We need to also ensure that this can be loaded out of order if any references inside the element like a future reference to the stack isn't yet resolved. We already kind of handled this for owner but since owner can also be set to the _debugRootOwner and the owner informs the stack, we need to wait until we have both values before initializing.
This is unfortunate. Ideally you'd expect it to be the least priority but because it blocks the parent elements from resolving it ends up being better to have it first anyway.
unstubbable
approved these changes
Jun 27, 2025
This was referenced Jun 27, 2025
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.
This writes all debug info to a separate priority queue. In the future I'll put this on a different channel.
Ideally I think we'd put it in the bottom of the stream but because it actually blocks the elements from resolving anyway it ends up being better to put them ahead. At least for now.
When we have two separate channels it's not possible to rely on the order for consistency Even then we might write to that queue first for this reason. We can't rely on it though. Which will show up like things turning into Lazy instead of Element similar to how outlining can.