ref(dynamic-sampling): Count unnamed root transactions instead of dropping them - #120911
Merged
Conversation
Root spans can carry an empty sentry.dsc.transaction. EAP returns it as its own group, so without the has:sentry.dsc.transaction clause it takes a slot in the per-project top-N and reaches the rebalancing model as a transaction named "". The test stores an empty-string root span, an absent-attribute root span and two real ones, then replays the captured query without the has: clause to show the clause is what drops them.
…action test The replayed control query added a second snuba round trip and coupled the test to the exact query string. Assert the returned volumes only.
Root spans with an empty or absent sentry.dsc.transaction now reach the transaction rebalancing model, as "" and "None", and each takes a slot in the per-project top-N. Inverts the two tests that asserted the old exclusion.
EAP returns a root span with no sentry.dsc.transaction and one named "" as two groups. Sum them into a single "" class so the rebalancing model sees one unnamed transaction, not two, one of them named "None".
shellmayr
marked this pull request as ready for review
July 30, 2026 18:00
vgrozdanic
approved these changes
Jul 30, 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.
has:sentry.dsc.transactionclause from theget_eap_transaction_volumesquery insrc/sentry/dynamic_sampling/per_org/queries.py, so root spans without a transaction name are counted - this aligns the new pipeline with fix(ds): Strip transactions if they above the tag length limit relay#6271""and sum their counts, so the rebalancing model sees one unnamed class rather than two — one of which would have been named"None"(which is however not present in the ingestion pipeline)Contributes to TET-2754