-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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(replay): try 5s rage/dead click timeout for sentry orgs #77286
Conversation
@@ -396,6 +396,15 @@ def _handle_breadcrumb( | |||
) -> ReplayActionsEventPayloadClick | None: | |||
|
|||
click = None | |||
project = Project.objects.get(id=project_id) | |||
dead_click_timeout = ( | |||
5000 |
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.
you could also make this an option if you wanted to have it be more controllable. but this makes sense!
❌ 6 Tests Failed:
View the top 3 failed tests by shortest run time
To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard |
@@ -396,6 +396,15 @@ def _handle_breadcrumb( | |||
) -> ReplayActionsEventPayloadClick | None: | |||
|
|||
click = None | |||
project = Project.objects.get(id=project_id) |
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.
This will blow up the database. You're running the query for every segment ingested (2k RPS) multiplied by every breadcrumb in the recording data. This is going to query the database anywhere from 20k times per second to 200k times per second. Or more realistically, we won't query at that rate and will begin to backlog as the database becomes the primary choke point. This approach won't work.
5000 | ||
if features.has( | ||
"organizations:session-replay-dead-click-reduced-timeout", | ||
project.organization, |
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.
Let's not use a feature flag here. Let's set a list-type option. In options-automator you can specify the org-ids/project-ids you want to allow to use the new timeout. You can do the same for the timeout itself as mentioned by Josh.
See slack thread https://sentry.slack.com/archives/C03USURCFBJ/p1725645076151569. This flag is only enabled for internal orgs
Ref #77284 and https://github.com/getsentry/sentry-options-automator/pull/2279