Open Bug 1865932 Opened 7 months ago Updated 26 days ago

Add support for gathering multi-process profiles without relying on nsProfiler classes

Categories

(Core :: Gecko Profiler, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: aabh, Assigned: aabh)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Saving profiles from multiple processes is currently only possible using methods defined/accessible through the nsProfiler/nsiProfiler interfaces & classes. This poses an issue when trying to stop the profiler using non-UI means (such as UNIX signals), as we must define the signal handlers in platform.cpp, which cannot access nsProfiler methods.

Hmm, will you output separate files per process, or one integrated JSON? Usually, subprocesses send their profiles up to the parent process through an IPC channel whose parent process endpoint is on the parent process main thread. So you won't be able to use that IPC channel.

The aim of this is to try and output a single integrated JSON, as right now we can only dump a single JSON file per-process. As you note, the IPC channel gathering method is problematic when we are handling a signal, so we need another approach, which this bug tries to capture.

Severity: -- → N/A
Type: task → enhancement
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.