perf(shuttle): Trim stream at regular intervals instead of every iteration #2185
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.
Why is this change needed?
Performance profiling indicates that we're spending a non-trivial amount of time (5-10% of wall clock time) trimming the stream. This doesn't need to happen as frequently as it's currently happening, so switch to an interval timer so that we're not slowing down general processing in any meaningful way.
Merge Checklist
PR-Codex overview
This PR optimizes the event stream processing in
HubEventStreamConsumer
by adding a regular interval to trim old events efficiently.Detailed summary
interval
property to schedule event processing at regular intervalsstop
method to clear the interval