Closed Bug 1921020 Opened 4 months ago Closed 3 months ago

Allow search for traces by function call argument values

Categories

(DevTools :: Debugger, enhancement)

enhancement

Tracking

(firefox134 fixed)

RESOLVED FIXED
134 Branch
Tracking Status
firefox134 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

Attachments

(2 files, 3 obsolete files)

The JS Tracer currently stores the function call arguments in the debugger redux store, but only show them via inline/popup previews.
It would be neat to able to able to search frames by argument values.
Looking for primitive data types is trivial, but search per object may require a followup.

This dedicated pool class shared by all the actors instantiating Object Actors
(console, thread and tracer actors) is going to later help reuse the same
WeakMap logic to instantiate only one actor per unique JS value.

I also merged console and target actor to use the same pool
as they basically have the same lifecycle. This simplify lookups
by Actor IDs done for selected object actor or console table objects.

When we communicate a previously notified object actor form,
which was notified through a prevent RDP event or method call,
we passed its actor's form (a.k.a. "grip").
This contains a snapshot of the object in order to be able to display a preview
of it at the time the object was processed in the backend.

Now, when we manipulate the same JS value in the backend,
we may notify about the same object actor instance, but the actor's form ("grip")
will be updated to match the current state of the object.

In the frontend, we need to process this new form/grip in the Object Actor front,
so that the previews are correctly updated over time.

This helps ensure that the object actors returned by the console actor evaluation RDP request
are the same for the same JS values being processed and notified via the tracer ressources.
This allows identifying same objects when doing a search per value.

Depends on: 1923903

Comment on attachment 9430183 [details]
Bug 1921020 - [devtools] Use ObjectActorPool to instantiate and collect all Object Actors.

Revision D225235 was moved to bug 1923903. Setting attachment 9430183 [details] to obsolete.

Attachment #9430183 - Attachment is obsolete: true

Comment on attachment 9430184 [details]
Bug 1921020 - [devtools] Ensure updating object front's form when re-using the same front instance.

Revision D225236 was moved to bug 1923903. Setting attachment 9430184 [details] to obsolete.

Attachment #9430184 - Attachment is obsolete: true

Comment on attachment 9427499 [details]
Bug 1921020 - [devtools] Instantiate only one object actor per JS object in the JS Tracer

Revision D223782 was moved to bug 1923903. Setting attachment 9427499 [details] to obsolete.

Attachment #9427499 - Attachment is obsolete: true
Assignee: nobody → poirot.alex
Status: NEW → ASSIGNED
Pushed by apoirot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0f807adadf05 [devtools] Allow evaluating console results reusing the Tracer actor Object Actor Pool. r=devtools-reviewers,devtools-backward-compat-reviewers,nchevobbe https://hg.mozilla.org/integration/autoland/rev/b0ee34e44bb0 [devtools] Search for argument values in the live JS Tracer. r=devtools-reviewers,nchevobbe
Regressions: 1928534
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 134 Branch
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 134 Branch → ---
Pushed by apoirot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5b954e5723fe [devtools] Allow evaluating console results reusing the Tracer actor Object Actor Pool. r=devtools-reviewers,devtools-backward-compat-reviewers,nchevobbe https://hg.mozilla.org/integration/autoland/rev/a2fcf48ee4fd [devtools] Search for argument values in the live JS Tracer. r=devtools-reviewers,nchevobbe
Regressions: 1929033
Status: REOPENED → RESOLVED
Closed: 3 months ago3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 134 Branch
Regressions: 1929934
Flags: needinfo?(poirot.alex)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: