Open
Bug 1110996
Opened 10 years ago
Updated 2 years ago
Measure (in telemetry) how many subprocesses are launched of each type
Categories
(Core :: IPC, defect, P2)
Core
IPC
Tracking
()
NEW
People
(Reporter: benjamin, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [e10s-multi:-])
In bug 1110818 I added a measurement for the number of times each type of subprocess crashes (plugin/gmplugin/content). Georg suggested that also measuring the number of times each process was launched would give us a better sense for whether certain things are always crashing, and it sounds like a good thing to me.
Georg, if you're interested in mentoring this, feel free to add a few MXR links and suggestions.
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(georg.fritzsche)
Comment 1•8 years ago
|
||
Is this still useful to measure? Does current client side crash telemetry give us this info?
Flags: needinfo?(benjamin)
Reporter | ||
Comment 2•8 years ago
|
||
We kinda have some of this data via the launch times metrics: if we count the number of times we record a launch time, we know how many processes are launched. This doesn't account for processes that crash before they are fully launched, though. And so it's not a great way to condition crash rates.
Since chutten and team are in charge of crash rate metrics, let's ask them whether this is worth keeping open.
Flags: needinfo?(gfritzsche)
Flags: needinfo?(chutten)
Flags: needinfo?(benjamin)
Comment 3•8 years ago
|
||
Our current and future plans for normalizing crash rates do not require a count of the number of processes launched.
That being said, crashes aren't the only reason we might want to know how many processes are launched. If we went from launching one gpu process per session to launching two (both shutting down normally on app exit), we would want to know. If the content process count is 4 results in a squaring of the number of content processes launched per session compared to process count 1 (instead of a linear increase), we would want to know.
It is my opinion that there may still be value in a count of process launches, especially if it can be recorded cheaply and generically. A keyed scalar on the parent process that tracks IPC endpoint creations might do it (he says, never having laid eyes on that code).
+froydnj - is there a central clearinghouse for launching processes? For connecting IPC? And in your opinion are process launches something that could serve a diagnostic need?
Flags: needinfo?(chutten) → needinfo?(nfroyd)
Comment 4•8 years ago
|
||
(In reply to Chris H-C :chutten from comment #3)
> It is my opinion that there may still be value in a count of process
> launches, especially if it can be recorded cheaply and generically. A keyed
> scalar on the parent process that tracks IPC endpoint creations might do it
> (he says, never having laid eyes on that code).
Or just a categorical scalar, there is probably no need for dynamic keys here.
![]() |
||
Comment 5•8 years ago
|
||
(In reply to Chris H-C :chutten from comment #3)
> +froydnj - is there a central clearinghouse for launching processes? For
> connecting IPC? And in your opinion are process launches something that
> could serve a diagnostic need?
Um. Not sure? Content processes get launched through ContentParent:
http://dxr.mozilla.org/mozilla-central/source/dom/ipc/ContentParent.cpp#1833
(Note that we have telemetry there to measure the launch time already.) GPU processes likewise:
http://dxr.mozilla.org/mozilla-central/source/gfx/ipc/GPUParent.cpp#75
and related code below that. I don't know that there's truly a common point to go through. Bill might have more insight to all of your questions than I would.
Flags: needinfo?(nfroyd) → needinfo?(wmccloskey)
I think pretty much everything goes through here:
http://searchfox.org/mozilla-central/rev/cac6cb6a10afb8ebb2ecfbeeedaff7c66f57dd75/ipc/glue/GeckoChildProcessHost.cpp#531
However, you'll need to pass down info about what kind of process it is for the key.
(Also, GPUParent.cpp is not where the GPU process is launched. It's from GPUProcessHost.cpp.)
Flags: needinfo?(wmccloskey)
![]() |
||
Updated•7 years ago
|
Priority: -- → P2
Whiteboard: [e10s-multi:?]
Updated•7 years ago
|
Whiteboard: [e10s-multi:?] → [e10s-multi:-]
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•