-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
ref(spans): Write payloads outside of eval #88453
Merged
Merged
Conversation
This file contains 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
Codecov ReportAttention: Patch coverage is ✅ All tests successful. No failed tests found.
Additional details and impacted files@@ Coverage Diff @@
## master #88453 +/- ##
===========================================
+ Coverage 33.08% 87.74% +54.65%
===========================================
Files 8464 10015 +1551
Lines 472987 567419 +94432
Branches 22294 22247 -47
===========================================
+ Hits 156477 497860 +341383
+ Misses 316090 69141 -246949
+ Partials 420 418 -2 |
* master: (96 commits) fix(autofix): fix highlight popup behavior (#88552) 🔧 chore: introduce workflow engine ui links ff (#88569) feat(pipeline): Add CoveragePageWrapper component and tests for it (#88519) feat(taskworker):Make sdk tasks taskworker compatible (#88488) chore(flamegraph): Updating wording to trace (#88516) feat(shared-views): Create `GET` `group-search-view/starred` endpoint (#88398) DI-612: print flaky pytest errors to log (v2) (#88512) chore(nav): Update banner copy (#88566) feat(sentryapps): add RPC method to get all installation component contents (#88179) chore(issue summary): Add limit to query (#88563) fix(dashboards): Add limit suggestion to validation (#88436) feat(checkout): show starting PAYG prices (#88510) ✨ feat(aci): add workflow_id when creating an ephemeral rule in noa (#88520) fix(billing): hide pay now button for self serve partners (#88504) chore(HC): Re-adds logging with a low sample rate for cache hits/misses on options (#88464) fix(logs): Upgrade sentry log integration to fix dogfooding issues (#88561) chore(issue summary): Remove dividers from AI summary alert (#88554) feat(insights): Enable bubbles in full-screen mode (#88445) fix(explore): Update search bar query on filter change (#88473) chore(dependencies): Upgrade drf-spectacular (#88459) ...
untitaker
approved these changes
Apr 2, 2025
PR reverted: de9a709 |
getsentry-bot
added a commit
that referenced
this pull request
Apr 3, 2025
This reverts commit 89c00d5. Co-authored-by: jan-auer <[email protected]>
untitaker
added a commit
that referenced
this pull request
Apr 3, 2025
Based on our timings and monitoring, we notice a lot of the CPU load in Redis comes from the large pipeline that runs the `add-buffer.lua` script. It combines three bad aspects: Sends large payloads, runs many commands, and executes in a long, batched pipeline. To reduce the time Redis is blocked on slow operations, this PR splits the large script into two phases: 1. Push payloads into Redis using `SADD` under the top-most parent key determined by the current in-memory batch. 2. Run the pipelined script to restructure the partial trees Additionally, this PR contains a few optimizations: - Avoid redundant set merges (`SUNIONSTORE`) when there's no subsegment to merge - Use `UNLINK` to defer large blocking deletes - Use `EVALSHA` to speed up script invocation This prepares for batched calls to the script, which should result in even fewer writes. Second attempt of #88453 --------- Co-authored-by: Markus Unterwaditzer <[email protected]>
adrian-codecov
pushed a commit
that referenced
this pull request
Apr 3, 2025
This reverts commit 89c00d5. Co-authored-by: jan-auer <[email protected]>
adrian-codecov
pushed a commit
that referenced
this pull request
Apr 3, 2025
Based on our timings and monitoring, we notice a lot of the CPU load in Redis comes from the large pipeline that runs the `add-buffer.lua` script. It combines three bad aspects: Sends large payloads, runs many commands, and executes in a long, batched pipeline. To reduce the time Redis is blocked on slow operations, this PR splits the large script into two phases: 1. Push payloads into Redis using `SADD` under the top-most parent key determined by the current in-memory batch. 2. Run the pipelined script to restructure the partial trees Additionally, this PR contains a few optimizations: - Avoid redundant set merges (`SUNIONSTORE`) when there's no subsegment to merge - Use `UNLINK` to defer large blocking deletes - Use `EVALSHA` to speed up script invocation This prepares for batched calls to the script, which should result in even fewer writes. Second attempt of #88453 --------- Co-authored-by: Markus Unterwaditzer <[email protected]>
andrewshie-sentry
pushed a commit
that referenced
this pull request
Apr 8, 2025
Based on our timings and monitoring, we notice a lot of the CPU load in Redis comes from the large pipeline that runs the `add-buffer.lua` script. It combines three bad aspects: Sends large payloads, runs many commands, and executes in a long, batched pipeline. To understand and isolate its impact better, this PR splits the large script into two phases: 1. Push payloads into Redis using `SADD` under the top-most parent key determined by the current in-memory batch. 2. Run the pipelined script to restructure the partial trees Additionally, this PR contains a few optimizations: - Avoid redundant set merges (`SUNIONSTORE`) when there's no subsegment to merge - Use `UNLINK` to defer large blocking deletes - Use `EVALSHA` to speed up script invocation This prepares for batched calls to the script, which should result in even fewer writes.
andrewshie-sentry
pushed a commit
that referenced
this pull request
Apr 8, 2025
This reverts commit 89c00d5. Co-authored-by: jan-auer <[email protected]>
andrewshie-sentry
pushed a commit
that referenced
this pull request
Apr 8, 2025
Based on our timings and monitoring, we notice a lot of the CPU load in Redis comes from the large pipeline that runs the `add-buffer.lua` script. It combines three bad aspects: Sends large payloads, runs many commands, and executes in a long, batched pipeline. To reduce the time Redis is blocked on slow operations, this PR splits the large script into two phases: 1. Push payloads into Redis using `SADD` under the top-most parent key determined by the current in-memory batch. 2. Run the pipelined script to restructure the partial trees Additionally, this PR contains a few optimizations: - Avoid redundant set merges (`SUNIONSTORE`) when there's no subsegment to merge - Use `UNLINK` to defer large blocking deletes - Use `EVALSHA` to speed up script invocation This prepares for batched calls to the script, which should result in even fewer writes. Second attempt of #88453 --------- Co-authored-by: Markus Unterwaditzer <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Scope: Backend
Automatically applied to PRs that change backend components
Trigger: Revert
Add to a merged PR to revert it (skips CI)
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.
Based on our timings and monitoring, we notice a lot of the CPU load in Redis comes from the large pipeline that runs the
add-buffer.lua
script. It combines three bad aspects: Sends large payloads, runs many commands, and executes in a long, batched pipeline.To understand and isolate its impact better, this PR splits the large script into two phases:
SADD
under the top-most parent key determined by the current in-memory batch.Additionally, this PR contains a few optimizations:
SUNIONSTORE
) when there's no subsegment to mergeUNLINK
to defer large blocking deletesEVALSHA
to speed up script invocationThis prepares for batched calls to the script, which should result in even fewer writes.