Closed Bug 1025804 Opened 10 years ago Closed 10 years ago

Implement an actor to live stream performances data from device to the app manager

Categories

(DevTools Graveyard :: WebIDE, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 33

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

(Keywords: perf)

Attachments

(1 file, 4 obsolete files)

Jan is currently working on a "Monitor" panel within the app manager, to allow seeing live profile of any data that can help debugging performances on devices. This new tool needs an actor to live stream data from device to the app manager. In a first iteration, it would just forward any observer notification being sent to it. Given that this actor is meant to debug performances, I think we shouldn't be using protocol.js for this actor as using it seriously increase memory usage of the debugger server (see bug 1012988)
Attached patch patch (obsolete) (deleted) — Splinter Review
Here I'm introducing yet another unsollicited event, we may want to fix bug 797621 to end this practice... Otherwise, this patch is a team work. Paul wrote a first version using protocol.js, Jan tweaked it and I translated it to old fashion actors and wrote tests.
Attached patch actor.interdiff (obsolete) (deleted) — Splinter Review
Thanks for uploading this! I ended up doing some changes locally to get it to work, here is an interdiff from your patch right here to mine. (My patch is an aggregate of the two commits de20d72b01 and cfaf14c8d3 in https://github.com/jankeromnes/gecko-dev/commits/monitor4)
Attachment #8440967 - Flags: review?(poirot.alex)
Comment on attachment 8440967 [details] [diff] [review] actor.interdiff Review of attachment 8440967 [details] [diff] [review]: ----------------------------------------------------------------- Here are the changes I made to the actor to make it work. Please feel free to argue / disregard / accept / comment on them. ::: actor.1 @@ +112,5 @@ > + > + observe: function (subject, topic, data) { > + if (topic == "devtools-monitor-update") { > ++ try { > ++ data = JSON.parse(data); When someone (e.g. me) forgets that observer notifications use strings exclusively, this line throws. Catching it and displaying a sensible error might help future offenders notice their mistake faster. @@ +160,1 @@ > + this.registerModule("devtools/server/actors/monitor"); (interdiff looks confusing here) You're adding the monitor actor in addBrowserActors(), whereas I need it to be in addTabActors().
Depends on: 797621
Attached patch patch (obsolete) (deleted) — Splinter Review
Rebased.
Attachment #8440583 - Attachment is obsolete: true
Attachment #8440967 - Attachment is obsolete: true
Attachment #8440967 - Flags: review?(poirot.alex)
Keywords: perf
Attached patch patch (obsolete) (deleted) — Splinter Review
Attachment #8449361 - Attachment is obsolete: true
Attachment #8452266 - Flags: review?(paul)
Attachment #8452266 - Flags: review?(paul) → review+
Keywords: checkin-needed
Those Try oranges look real, no?
Keywords: checkin-needed
Attached patch patch (deleted) — Splinter Review
The previous try was orange as I was also testing bug 1025828, which had a failure and has been fixed in the meantime. New try with just the necessary dependent patches (already on fx-team): https://tbpl.mozilla.org/?tree=Try&rev=ba6bc5e6ed9f
Attachment #8452266 - Attachment is obsolete: true
That's green with the updated (already landed now) dependent patches.
Assignee: nobody → poirot.alex
Keywords: checkin-needed
Flags: in-testsuite+
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 33
Blocks: 1037465
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: