Closed Bug 1445091 Opened 7 years ago Closed 3 years ago

Web Replay: Take temporary snapshots while navigating in the debugger

Categories

(Core :: General, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox61 --- affected

People

(Reporter: bhackett1024, Unassigned)

References

Details

Attachments

(4 files)

When replaying a process, when paused at a breakpoint and running forward to another breakpoint or forward-stepping we have to rewind to the last snapshot and run forward to the point we were paused at, before we can start executing forward in search of a new place to pause (this is done to erase side effects that occurred while processing debugger requests). When running backwards or backward-stepping we have to rewind and run forward twice: once to find the last point where a breakpoint is hit, and another to get to that execution point. On simple pages this re-execution is not too expensive, but even on moderately complicated pages like TodoMVC each re-execution can cost hundreds of milliseconds. The patches in this bug address this by taking temporary snapshots between the normal snapshot points. These are done internally to the replaying process --- the middleman never knows about them --- in order to reduce the amount of time spent re-executing. Whenever re-execution time goes above a threshold (10ms currently) a temporary snapshot is taken, either at the point we are paused if we are going forward, or at entry to the frame containing our destination if we are going backward. Re-executing starting at the temporary snapshot instead of earlier snapshot points saves quite a bit of time when stepping around, especially when stepping backwards.
Add support for taking temporary snapshots. This just adds a new public API and adds checks to make sure we never expose information about temporary snapshots to the middleman process.
Assignee: nobody → bhackett1024
Changes to the debugger to take temporary snapshots and deal with them when rewinding past them or playing forward past the next normal snapshot.
Fix a crash seen when rewinding with OnPop breakpoints set.
Fix crashes seen when (I think) certain code is evaluated while paused.

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: bhackett1024 → nobody

WebReplay has been removed.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: