fix(dynamic-sampling): Cap dsc.transaction at 200 characters in the per-org pipeline - #120806
Closed
shellmayr wants to merge 2 commits into
Closed
fix(dynamic-sampling): Cap dsc.transaction at 200 characters in the per-org pipeline#120806shellmayr wants to merge 2 commits into
shellmayr wants to merge 2 commits into
Conversation
…er-org pipeline Transaction names longer than 200 characters cannot be matched by a sampling rule, so a per-name rate for them cannot be served. Count every over-length name as one class under the empty transaction name instead of individually. The cap runs in the query. The RPC has no length function, so the length test is a ClickHouse LIKE pattern of 201 `_` wildcards plus `%`. That splits the fetch into two queries: the per-project top-N one excludes over-length names, and a second one sums them per project. The lumped class then competes for a top-N slot like any named one, so no over-length volume is lost to the cap.
… option Add dynamic-sampling.per_org.cap-dsc-transaction-length-org-ids, a list of organization ids for which get_eap_transaction_volumes caps dsc.transaction at 200 characters. The default of [] keeps counting every transaction by name, so this changes nothing until the option names an org. Off the gate the function issues one query with no length filter, exactly as before. On the gate it issues two, so the extra query cost only applies to the orgs being tested.
Member
Author
|
Too cumbersome - superseded by getsentry/relay#6271 |
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.
sentry.dsc.transactionat 200 characters inget_eap_transaction_volumes. Longer names cannot be matched by a sampling rule, so a per-name rate for them cannot be served."".dynamic-sampling.per_org.cap-dsc-transaction-length-org-ids, a list of organization ids. The default[]keeps counting every transaction by name, so nothing changes until the option names an org._wildcards plus%.extra_conditionsonSpans.run_table_query, the same waylimit_byis exposed.tests/sentry/dynamic_sampling/per_org/test_queries.py, covering both sides of the gate.Contributes to TET-2754