-
Notifications
You must be signed in to change notification settings - Fork 5.5k
stats: extend the lock-free ref-count release fast path to histograms and relax ref-count orderings #46001
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
ggreenway
merged 7 commits into
envoyproxy:main
from
davidvo-lyft:davidvo/stats-refcount-release-fastpath
Jul 9, 2026
Merged
stats: extend the lock-free ref-count release fast path to histograms and relax ref-count orderings #46001
Changes from 6 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
1e07ee2
stats: add a lock-free fast path for non-final ref-count releases
davidvo-lyft 8e81390
Merge origin/main (post-#45821) into stats-refcount-release-fastpath
davidvo-lyft c11c861
stats: align histogram release fast path with the pattern from #45821
davidvo-lyft b560386
stats: rescope changelog to the remaining delta after #45821
davidvo-lyft b63e81f
stats: share the ref-count release fast path via a helper
davidvo-lyft 013ad46
stats: update changelog figure to the interleaved benchmark result
davidvo-lyft 2e82188
stats: describe the combined fast-path change in one changelog entry
davidvo-lyft File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
7 changes: 7 additions & 0 deletions
7
...urrent/minor_behavior_changes/stats__lock-free-non-final-ref-count-releases.rst
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| Extended the lock-free non-final reference-count release fast path (added for counters, | ||
| gauges and text readouts in a previous change) to histograms, which previously took the | ||
| store's histogram lock on every release, and switched stat reference-count operations to | ||
| standard reference-counting memory orderings instead of sequentially-consistent ones. | ||
| Processes with very large numbers of stats should see moderately lower flush times on top | ||
| of the earlier change (roughly a further 15-20% in the stats flush benchmark at millions of | ||
| stats). There are no visible behavioral changes. | ||
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you combine this with the previous changelog entry? From the reader/users point of view, it doesn't matter that it was two separate PRs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. #45821 didn't add a changelog entry, so I reworded this one to describe the combined change from the user's point of view (counters/gauges/text readouts and histograms together, no per-PR split).