Closed Bug 1354961 Opened 7 years ago Closed 7 years ago

Make ProfileGatherer grab the profile of the parent process on a background thread

Categories

(Core :: Gecko Profiler, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED INVALID
Tracking Status
firefox55 --- affected

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(3 files)

I'm going to attach a few patches that make us call the profile gathering functions on a background thread. This is in preparation for bug 1330185, which will hopefully create a communication channel from a background thread in the parent process to a background thread on each other process.

Generating the JSON for the parent process profile on a background thread might be a good thing to do anyway, in order to reduce the jank that occurs during profile gathering. However, as is, these patches don't help much with the jank because the main thread sooner or later calls a function that accesses the profiler state, like profiler_is_active(), and then it just blocks until the background thread is done with the profile collection.
This makes things too complicated and isn't worth doing at this point. I'm going to go ahead with keeping the collection of the *parent process* profile on its main thread, and only do profile collection for *content processes* on a background thread.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: