-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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(transactions): option for not doing transactions sampling in post_process #81079
Conversation
b07a90f
to
a44c8d6
Compare
c7f02a1
to
a9f2ad3
Compare
a44c8d6
to
74e168f
Compare
a9f2ad3
to
f89cfd2
Compare
src/sentry/options/defaults.py
Outdated
@@ -2919,6 +2919,7 @@ | |||
"performance.event-tracker.sample-rate.transaction", | |||
default=0.0, | |||
) | |||
|
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.
src/sentry/tasks/post_process.py
Outdated
@@ -611,7 +611,7 @@ def get_event_raise_exception() -> Event: | |||
# Simplified post processing for transaction events. | |||
# This should eventually be completely removed and transactions | |||
# will not go through any post processing. | |||
if is_transaction_event: | |||
if is_transaction_event and not options.get("transactions.do_post_process_in_save"): |
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.
I believe there's a slight chance of a small window where the servers processing the two different stages of processing will not have synchronized options applied.
What would be the consequences of this code not applying at all for some transactions?
Or the consequences of calling twice?
I don't think it is important to handle it if it would not cause any major problems.
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.
TLDR: it shouldn't matter very much, it's used for transaction clustering, some blips in processing shouldn't affect this very much. (and even if it did, it is not a super critical feature).
called out in the ticket here:
I assume that we're okay with a minute of data or so being lost from the transaction clusterer. by doing a simple switch-over, we can save some complexity. (i believe this is just used for accurate dynamic sampling calculations)
Lyn also asked about this. responded here:
from reading about the transactions sampler, i believe it is a feature that helps with parameterizing high cardinality transaction names. i don't believe double sampling (wouldn't happen as i've implemented) or not having samples (would be the case for a few moments for this deploy) would have a large effect on the product.
https://develop.sentry.dev/api-server/application-domains/transaction-clustering/#accidental-erasure-of-non-identifiers
48e4329
to
80c2656
Compare
f89cfd2
to
1505605
Compare
1505605
to
f85382e
Compare
80c2656
to
6f9afa7
Compare
f85382e
to
5ccfc69
Compare
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.
Makes sense to me when paired with #81077
@markstory i've gone ahead and merged this into #81077 |
in lockstep with #81077, stops doing work in post_process on transactions. part of #81065