Open Bug 1343383 Opened 9 years ago Updated 3 years ago

nsIDOMWindowUtils::StartFrameTimeRecording should not use sync IPC

Categories

(Core :: Graphics: Layers, defect, P3)

defect

Tracking

()

Performance Impact low
Tracking Status
firefox54 --- affected

People

(Reporter: mstange, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

We use this for recording tab opening telemetry when the user has opted in to extended telemetry recording. http://searchfox.org/mozilla-central/rev/9c1c7106eef137e3413fd867fc1ddfb1d3f6728c/browser/base/content/tabbrowser.xml#6297
Whiteboard: [qf:p1]
Naveed, p1 even though this is a non-default extended telemetry setting? Do we know what percentage of our release population sets that? Or do we need this because it's blocking our profiling in some way?
Flags: needinfo?(nihsanullah)
Changed to [qf:p3] after talking it over with mstange.
Flags: needinfo?(nihsanullah)
Whiteboard: [qf:p1] → [qf:p3]
Plan: 1. Move the implementation of Start/StopFrameTimeRecording out of the LayerManager base class and into LayerManagerComposite. 2. Rename the argument aStartIndex into aHandle. 3. Make StopFrameTimeRecording return a MozPromise instead. 4. Make nsDOMWindowUtils turn that MozPromise into a DOM promise and adjust both the tabbrowser.xml caller and Talos. 5. Add a counter uint32_t mNextFrameTimeRecordingHandle to ClientLayerManager. 6. Make ClientLayerManager pass that ID to the IPDL method StartFrameTimeRecording and make it async that method. (Instead of awaiting a handle in the return value, the handle is now decided by the caller.) On the other side (in CompositorBridgeParent), create a map from frameTimeRecordingHandle -> handleThatWasReturnedByLayerManagerComposite. When CompositorBridgeParent::RecvStopFrameTimeRecording is called, look up the right handle and call LayerManagerComposite::StopFrameTimeRecording with it. 7. Turn PCompositorBridge::StopFrameTimeRecording into an "async return" IPDL method that returns the array using MozPromise, and hook up the promises correctly.
This API is no longer used during tab opening, bug 1345315 removed the call. The only remaining user is the TART talos test.
Keywords: perf
Performance Impact: --- → P3
Whiteboard: [qf:p3]

I'm not working on this.

Assignee: mstange.moz → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.