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)
Core
General
Tracking
()
RESOLVED
WONTFIX
| Tracking | Status | |
|---|---|---|
| firefox61 | --- | affected |
People
(Reporter: bhackett1024, Unassigned)
References
Details
Attachments
(4 files)
|
7.86 KB,
patch
|
Details | Diff | Splinter Review | |
|
24.34 KB,
patch
|
Details | Diff | Splinter Review | |
|
738 bytes,
patch
|
Details | Diff | Splinter Review | |
|
2.17 KB,
patch
|
Details | Diff | Splinter Review |
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.
| Reporter | ||
Comment 1•7 years ago
|
||
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
| Reporter | ||
Comment 2•7 years ago
|
||
Changes to the debugger to take temporary snapshots and deal with them when rewinding past them or playing forward past the next normal snapshot.
| Reporter | ||
Comment 3•7 years ago
|
||
| Reporter | ||
Comment 4•7 years ago
|
||
Fix a crash seen when rewinding with OnPop breakpoints set.
| Reporter | ||
Comment 5•7 years ago
|
||
| Reporter | ||
Comment 6•7 years ago
|
||
Fix crashes seen when (I think) certain code is evaluated while paused.
Comment 7•3 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: bhackett1024 → nobody
Comment 8•3 years ago
|
||
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.
Description
•