Closed Bug 1265724 Opened 9 years ago Closed 9 years ago

Decouple TimelineFront from TimelineActor

Categories

(DevTools :: Netmonitor, enhancement, P1)

enhancement

Tracking

(firefox50 fixed)

RESOLVED FIXED
Firefox 50
Iteration:
50.1 - Jun 20
Tracking Status
firefox50 --- fixed

People

(Reporter: ejpbruel, Assigned: ejpbruel)

References

Details

Attachments

(1 file, 1 obsolete file)

No description provided.
Depends on: 1265429
Blocks: 1263289
Severity: normal → enhancement
Whiteboard: [devtools-html]
Flags: qe-verify-
Priority: -- → P2
Assignee: nobody → nfitzgerald
Status: NEW → ASSIGNED
Iteration: --- → 49.1 - May 9
Priority: P2 → P1
Depends on bug 1265722 for the introduction of the fronts and specs directories and moz.builds, etc.
Depends on: 1265722
Network monitor only uses the timeline actor.
Summary: Decouple fronts from actors in netmonitor. → Decouple TimelineFront from TimelineActor
This is still a WIP. Seeing "too much recursion" errors in sdk events emitting things and then (I think) the event listener emitting the same event again on the same object. I think it is related to this actor bridge crap.
Alright got the tests working. Again this will need to be rebased on moving fronts to shared.
Attachment #8749899 - Flags: review?(ejpbruel)
Attachment #8749890 - Attachment is obsolete: true
Comment on attachment 8749899 [details] [diff] [review] Decouple TimelineFront from TimelineActor Review of attachment 8749899 [details] [diff] [review]: ----------------------------------------------------------------- r+ with comments addressed. ::: devtools/server/actors/common.js @@ +509,5 @@ > } > exports.actorBridge = actorBridge; > + > +/** > + * Like `actorBridge`, but without a spec definition, for when the actor is The methods is called actorBridgeWithSpec, but the comment explains that this should be used without a spec definition. I found this somewhat confusing. Perhaps a better name for this would be either 'actorWithSpecBridge' or 'actorWithoutSpec'? ::: devtools/server/actors/timeline.js @@ -22,2 @@ > const { Timeline } = require("devtools/server/performance/timeline"); > -const { actorBridge } = require("devtools/server/actors/common"); Is actorBridge still used anywhere? If not, can we remove it? Or even better, simply replace actorBridge with actorBridgeWithSpec? ::: devtools/shared/specs/array-of-numbers-as-strings.js @@ +12,5 @@ > + * XXX: It would be nice if on local connections (only), we could just *give* > + * the array directly to the front, instead of going through all this > + * serialization redundancy. > + */ > +types.addType("array-of-numbers-as-strings", { I would just put this in /devtools/shared/specs/timeline.js
Attachment #8749899 - Flags: review?(ejpbruel) → review+
(In reply to Eddy Bruel [:ejpbruel] from comment #5) > @@ +509,5 @@ > > } > > exports.actorBridge = actorBridge; > > + > > +/** > > + * Like `actorBridge`, but without a spec definition, for when the actor is > > The methods is called actorBridgeWithSpec, but the comment explains that > this should be used without a spec definition. I found this somewhat > confusing. Perhaps a better name for this would be either > 'actorWithSpecBridge' or 'actorWithoutSpec'? I like "actorWithSpecBridge". > ::: devtools/server/actors/timeline.js > @@ -22,2 @@ > > const { Timeline } = require("devtools/server/performance/timeline"); > > -const { actorBridge } = require("devtools/server/actors/common"); > > Is actorBridge still used anywhere? If not, can we remove it? Or even > better, simply replace actorBridge with actorBridgeWithSpec? It is still used in the memory actor. > ::: devtools/shared/specs/array-of-numbers-as-strings.js > @@ +12,5 @@ > > + * XXX: It would be nice if on local connections (only), we could just *give* > > + * the array directly to the front, instead of going through all this > > + * serialization redundancy. > > + */ > > +types.addType("array-of-numbers-as-strings", { > > I would just put this in /devtools/shared/specs/timeline.js I like splitting the types out so that they re reusable and we don't get into situations where we're requiring one actor's spec just to get type definitions.
Iteration: 49.1 - May 9 → 49.2 - May 23
Removing from release - blocked on dependency.
Assignee: nfitzgerald → nobody
Status: ASSIGNED → NEW
Iteration: 49.2 - May 23 → ---
Priority: P1 → P2
Assignee: nobody → ejpbruel
Status: NEW → ASSIGNED
Iteration: --- → 49.3 - Jun 6
Priority: P2 → P1
Blocks: 1277706
No longer blocks: 1263289
Blocks: 1263289
Try push failed due to TBPL failures. New try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=9b9d4ef77f5a
Second try push also failed due to TBPL failures. Yet another try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=43d3c85d7693
Try failures due to path errors. New try push with issues addressed: https://treeherder.mozilla.org/#/jobs?repo=try&revision=21d3b6488e3f
Iteration: 49.3 - Jun 6 → 50.1
Pushed by ejpbruel@mozilla.com: https://hg.mozilla.org/integration/fx-team/rev/6dbe97bc9112 Decouple TimelineFront from TimelineActor; r=ejpbruel
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 50
Whiteboard: [devtools-html]
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: