Skip to content
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

[Replay Details] Implement support for visualizing 'gaps' in the replay timeline #71665

Closed
4 of 5 tasks
Tracked by #74441
ryan953 opened this issue May 29, 2024 · 6 comments
Closed
4 of 5 tasks
Tracked by #74441
Assignees

Comments

@ryan953
Copy link
Member

ryan953 commented May 29, 2024

Per figma: https://www.figma.com/design/LC8Uhws6ruiNYUkObfqcjv/Specs%3A-Segment-Gaps-in-Mobile-Replay?node-id=0-1&t=9GoyanWjtcULZMIX-0

Image

There might be cases where the 'gap' still has events inside it. Therefore the gap should be rendered behind all other content, including the 'ticks' within the timeline.

Initially the gap should be merged with support for mobile background & foreground events. But it should be applicable to use web focus & blur events just as easily, we can decide on that later.

Tasks

Preview Give feedback
@c298lee c298lee self-assigned this Jun 18, 2024
c298lee added a commit that referenced this issue Jul 2, 2024
Creates gaps in the timeline between `App in Background` and `App in
Foreground` frames. If there's no `App in Foreground` frame after `App
in Background`, the gap continues to the end of the replay.

Example gap:
<img width="1368" alt="image"
src="https://github.com/getsentry/sentry/assets/55311782/53600ccf-bbf0-4360-9fcc-e211f9a340f1">

Example gap to end of replay:
<img width="1368" alt="image"
src="https://github.com/getsentry/sentry/assets/55311782/e59fcb34-451e-47d2-96ad-00e7a37fa1c8">


Relates to #71665

---------

Co-authored-by: Michelle Zhang <[email protected]>
c298lee added a commit that referenced this issue Jul 3, 2024
Adds tooltip to the timeline gap. Also prevents you from clicking on the
timeline when there are gaps (only applies to timeline not scrubber)


![image](https://github.com/getsentry/sentry/assets/55311782/46205888-5ade-4584-a8b6-2b44bd135417)

Relates to #71665
c298lee added a commit that referenced this issue Jul 19, 2024
Refactors replay timeline gaps to use frame timestamps and styles `left`
and `width` instead of frame columns. Using timestamps instead of the
frame column makes it line up with breadcrumbs better. Switching to
styling `left` and `width` instead of the range of frames also fixed the
gap bug when zooming in on the timeline.

Also modified the gap logic:
When there's a background frame, a gap is created until the next frame
that's not a background frame or error frame. In most cases it will be
the foreground frame, but in cases of bad data it could be any other
replay frame.

Before:

![image](https://github.com/user-attachments/assets/51ad1b87-74f8-4c03-8274-b5409e5bac75)

After:

![image](https://github.com/user-attachments/assets/bbf19677-99e9-46d3-96aa-036f086542dc)
The gap is now a consistent `div` so there's no weird spots that the gap
doesn't cover. Additionally, the gap ends as soon as there's a frame
even if it isn't a foreground frame, which is more accurate.

Relates to #71665
@bruno-garcia
Copy link
Member

Gaps are currently available for Sentry for dogfooding, and it's based on timestamps of frame breadcrumbs (#74406).
We'll still look at adding support for gaps when segments are missing.

c298lee added a commit that referenced this issue Oct 17, 2024
Timeline gaps based on gaps in video events instead of background and
foreground frames

Example:
<img width="1488" alt="image"
src="https://github.com/user-attachments/assets/eb23a788-433c-442f-803d-05aeff0ead5e">

relates to #71665
@c298lee
Copy link
Member

c298lee commented Oct 18, 2024

Timeline gaps are based on video events as of #79274. Currently all gaps are visible on the timeline for the SDK team to see how often there's gaps in the video. Before releasing this feature, this would need to be revisited to ensure that the gaps shown don't cause any confusion (probably by implementing a minimum gap time)

harshithadurai pushed a commit that referenced this issue Oct 19, 2024
Timeline gaps based on gaps in video events instead of background and
foreground frames

Example:
<img width="1488" alt="image"
src="https://github.com/user-attachments/assets/eb23a788-433c-442f-803d-05aeff0ead5e">

relates to #71665
cmanallen pushed a commit that referenced this issue Oct 23, 2024
Timeline gaps based on gaps in video events instead of background and
foreground frames

Example:
<img width="1488" alt="image"
src="https://github.com/user-attachments/assets/eb23a788-433c-442f-803d-05aeff0ead5e">

relates to #71665
@bruno-garcia
Copy link
Member

Gaps are looking good in general but we'll verify the dev experience in react native before GA'ing

@cmanallen
Copy link
Member

@ryan953 @c298lee Marking as "super low" effort and "p0" because its done.

@cmanallen
Copy link
Member

Consider closing this issue if we're just waiting on GA.

@c298lee
Copy link
Member

c298lee commented Dec 31, 2024

Closing as this has been GA'd

@c298lee c298lee closed this as completed Dec 31, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jan 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants