Skip to content

Conversation

@thetruecpaul
Copy link
Contributor

Cleanup TK, just sharing current state ATP

@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

❌ Patch coverage is 52.74725% with 86 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/sentry/tagstore/snuba/backend.py 45.11% 73 Missing ⚠️
src/sentry/search/eap/occurrences/rollout_utils.py 53.33% 7 Missing ⚠️
src/sentry/snuba/occurrences_rpc.py 76.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           master   #104843      +/-   ##
===========================================
+ Coverage   79.21%    80.46%   +1.25%     
===========================================
  Files        9363      9372       +9     
  Lines      401852    402597     +745     
  Branches    25833     25833              
===========================================
+ Hits       318337    323966    +5629     
+ Misses      83073     78189    -4884     
  Partials      442       442              

There's a lot of good work & validation in this framework. Let's pick it up and use it for our own ends.

This PR adds an implementation of RPCBase for use with Occurrence trace items.
We want to control how reads from Occurrences on EAP happen. Generally, we want it to look like:
* We roll out ingestion to some % of a region
* (Optional pause to wait for some data)
* We roll out double-read to the region
* The snuba & EAP results will start different — because EAP doesn't have full retention for the full region yet — but should track to zero differences over time.

Then, for each new read we onboard:
* Gate reading at all behind the standard rollout
* Gate using the data behind the callsite allowlist
* Set up a reasonable_match comparator
* Land PR.
* Observe data for callsite.
* Should have 100% reasonable_match rate.
* Should have exact_match rate go to 100% over time.
* Once exact_match has been at 100% for some time, add callsite to allowlist.
@getsantry
Copy link
Contributor

getsantry bot commented Jan 3, 2026

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry bot added the Stale label Jan 3, 2026
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 Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants