Skip to content

DSC can cause replay durations to be inaccurate and exceed the replay limit #13872

Closed
@billyvg

Description

@billyvg

DSC can cause replay durations to exceed our 1 hour maximum because the DSC is frozen and does not update. This means that if the replay session on the client expires, any following events will still have the expired replay id attached to the DSC.

This does not affect frontend errors as we are still tagging error events with the current replay id, but it does affect backend errors that occur as it will use the replay id in the DSC. This affects the replay event's "finished_at" and "duration" fields as we take the MAX() timestamp of all of the events that are related to the replay.

Historically, DSC is meant to be frozen because:

a lot of the original assumptions for dynamic sampling are no longer relevant
the reason for it being frozen were that every part of the trace gets sampled consistently by relay but if that does not matter, it doesn't need to be frozen

We will need to talk to the ingest team, but it sounds like we shouldn't have any issues modifying replay id as it is not used to make any sampling decisions:

We should check back with ingest folks but from my pov it actually shouldn't be a problem mutating the replay-id because I don't think anything downstream uses it to sample

Closes #13778

Metadata

Metadata

Assignees

Labels

Package: replayIssues related to the Sentry Replay SDK

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions