ref: Flush trace bucket when segment span finishes - #7170
Open
alexander-alderman-webb wants to merge 22 commits into
Open
ref: Flush trace bucket when segment span finishes#7170alexander-alderman-webb wants to merge 22 commits into
alexander-alderman-webb wants to merge 22 commits into
Conversation
Contributor
Codecov Results 📊✅ 105016 passed | ⏭️ 6677 skipped | Total: 111693 | Pass Rate: 94.02% | Execution Time: 367m 48s 📊 Comparison with Base Branch
All tests are passing successfully. ✅ Patch coverage is 100.00%. Project has 2484 uncovered lines. Coverage diff@@ Coverage Diff @@
## main #PR +/-##
==========================================
+ Coverage 90.15% 90.15% —%
==========================================
Files 193 193 —
Lines 25215 25215 —
Branches 9224 9224 —
==========================================
+ Hits 22730 22731 +1
- Misses 2485 2484 -1
- Partials 1433 1431 -2Generated by Codecov Action |
alexander-alderman-webb
marked this pull request as ready for review
August 11, 2026 14:46
alexander-alderman-webb
marked this pull request as draft
August 11, 2026 15:08
alexander-alderman-webb
marked this pull request as ready for review
August 12, 2026 11:45
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 54334a3. Configure here.
sentrivana
approved these changes
Aug 12, 2026
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.

Description
Mark the corresponding bucket as pending in the span buffer when a segment span is added.
This aims to keep memory pressure low. Segment spans typically finish after their children. There may be multiple segments in a trace, and flushing more frequently leads to more outbound network requests in these cases.
Adapt span batcher tests by adding an outer segment in most tests. As a result, the various flush conditions are still exercised as the assertions run before the segment span has finished (finishing the segment span otherwise flushes the buffer as well).
The tests that exercise multiple buckets are changed to use
traces.new_trace()in combination with a segment span that's left openWithout changes to the
sentry_initfixture, tests fail on free-threading. This is because the background flusher collects pending items beforesentry_sdk.flush()can synchronously flush all everything. The background flush is asynchronous and creates a race conditions.Issues
Reminders
uv run ruff.feat:,fix:,ref:,meta:)