Skip to content

Increase replay buffering from 60 seconds to 5 minutes to allow for easier debugging and match requestly #13731

@kkmuffme

Description

@kkmuffme

Unfortunately, the 60 seconds buffering in Sentry often is too short for effective debugging errors. In many cases the origin of the error, especially with B2B applications, happens because something the user did 2-3 minutes ago.

Other tools like https://requestly.com/products/session-book/ have a 5 minute look back (which is excessive, since we 3 minutes were enough in all our test cases).

Increasing the replay buffering value would tremendously improve the usefulness of this feature.

Activity

getsantry

getsantry commented on Aug 19, 2024

@getsantry

Assigning to @getsentry/support for routing ⏲️

getsantry

getsantry commented on Aug 19, 2024

@getsantry

Routing to @getsentry/product-owners-replays for triage ⏲️

bruno-garcia

bruno-garcia commented on Aug 20, 2024

@bruno-garcia
Member

The problem is keeping 5 minutes worth of data on the client. Since that's stored on the users device, in case the replay is sampled, 5 minutes worth of data could be a lot of data, potentially slowing things down.

You could have a higher sample rate for sessions, so you'll record the full replay since the start of the users journey. Would that help?

kkmuffme

kkmuffme commented on Aug 21, 2024

@kkmuffme
Author

I totally agree that 5 minutes is excessive but increasing it to 2 maybe 2.5 minutes would be a major increase in usability, while keeping the amount of data on the client low.

You could have a higher sample rate for sessions, so you'll record the full replay since the start of the users journey. Would that help?

We tried that, however this was a lose-lose thing: we ended up with tons of recordings that were useless (since no error occurred) and those sessions where an error occurred of course weren't sampled...

bruno-garcia

bruno-garcia commented on Aug 23, 2024

@bruno-garcia
Member

while keeping the amount of data on the client low.

this is the challenge I believe. But if we could keep it at a max size in bytes, that could work. Like buffer length is 30 seconds, or X bytes, that could be minutes of recording if the site is small enough.

@billyvg thoughts?

c298lee

c298lee commented on Sep 16, 2024

@c298lee
Contributor

We can add an option to increase the buffer size to up to 2 minutes, with a warning that this may cause slow downs or crashes

kkmuffme

kkmuffme commented on Sep 19, 2024

@kkmuffme
Author

How about <= 2 minutes OR ( > 2 minutes && total size < X bytes )?
(where the 2nd condition should probably be applied by default, that it will allow longer recordings if it's below a certain threshold of data, to allow recordings where nothing/very little/lots of basically idle) happens

bruno-garcia

bruno-garcia commented on Sep 19, 2024

@bruno-garcia
Member

How about <= 2 minutes OR ( > 2 minutes && total size < X bytes )? (where the 2nd condition should probably be applied by default, that it will allow longer recordings if it's below a certain threshold of data, to allow recordings where nothing/very little/lots of basically idle) happens

Agree that'd be ideal.
Unfortunately it's not a very straightforward change. If you'd keen to contribute it to the SDK we'd be glad to review and get that in, but I'm afraid it might take a while before one of us can get that done

17 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Status

Waiting for: Product Owner

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @billyvg@bruno-garcia@mydea@stephanie-anderson@kkmuffme

      Issue actions

        Increase replay buffering from 60 seconds to 5 minutes to allow for easier debugging and match requestly · Issue #13731 · getsentry/sentry-javascript