Closed Bug 1777203 Opened 1 month ago Closed 14 days ago

Codebase to maintain the SourceTree causes massive hangs


(DevTools :: Debugger, enhancement)



(firefox105 fixed)

105 Branch
Tracking Status
firefox105 --- fixed


(Reporter: ochameau, Assigned: ochameau)


(Blocks 2 open bugs)


(Whiteboard: [reminder-test 2022-07-26])


(3 files, 1 obsolete file)

See the following profile:
This is easily reproducable when opening the MBT on the debugger against a long running firefox session with many tabs.

The slowdown comes from the SourceTree component.
Each time a new source is notified we reupdate/reprocess the whole again.
That appears to be an issue, especially in the MBT as we display lots of sources.

We should aim at computing the Source Tree data structure only once and update it in an efficient way. That while being careful to avoid as much unecessary updates made to the Redux state and the related React components.

Depends on: 1777205
Depends on: 1777211
Depends on: 1777215
Depends on: 1777280
Depends on: 1777459
Depends on: 1778078
Depends on: 1778514
Depends on: 1778647
Depends on: 1778947

We are updating more things when selecting a thread than when opening the debugger.
Let's use a unique codepath when it comes to handle a new top level target.

Whiteboard: [reminder-test 2022-07-26]
Pushed by
[devtools] Generate SourceTree data directly from the selectors. r=bomsy
[devtools] Migrate SourceTree to be based on source actors. r=bomsy
Closed: 14 days ago
Resolution: --- → FIXED
Target Milestone: --- → 105 Branch
Blocks: 1783813

Comment on attachment 9285015 [details]
Bug 1777203 - [devtools] Unify debugger initialization and thread selection.

Revision D151552 was moved to bug 1783813. Setting attachment 9285015 [details] to obsolete.

Attachment #9285015 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.