Closed
Bug 1380144
Opened 8 years ago
Closed 8 years ago
Collect hang information from the compositor process
Categories
(Toolkit :: Telemetry, enhancement)
Toolkit
Telemetry
Tracking
()
RESOLVED
DUPLICATE
of bug 1380081
People
(Reporter: dvander, Unassigned)
References
(Blocks 1 open bug)
Details
In Firefox 53 we released the "Quantum Compositor," aka compositor process. Unfortunately we missed an important detail, which is that hang reports can only be collected in content and parent processes. As a result when the GPU process is enabled we're effectively losing hang information about the compositor. I'm worried this could impact our knowledge of more serious jank.
We do have a timeout set for synchronous IPC, but paints are asynchronous, so it's possible that stuff just hangs and we don't know.
Chris, I don't know if this is something we should flag for Flow or some other project? Seems somewhat scary not having the hang info.
Flags: needinfo?(cpeterson)
Comment 2•8 years ago
|
||
Jean or Naveed, who can fix the hang reporter to include information about the compositor process?
Flags: needinfo?(nihsanullah)
Flags: needinfo?(jgong)
Flags: needinfo?(cpeterson)
Comment 3•8 years ago
|
||
Michael, Is there anything you can do in the short term to fix this?
Flags: needinfo?(jgong) → needinfo?(michael)
Comment 4•8 years ago
|
||
(In reply to Jean Gong from comment #3)
> Michael, Is there anything you can do in the short term to fix this?
This should be being fixed in bug 1380081. I tried to make sure that the new data collection mechanism which I added in that bug supports collecting data from the GPU process.
Flags: needinfo?(michael)
Comment 5•8 years ago
|
||
Did bug 1380081 fix this? Should we dupe this bug against it?
If not, what is a good component to move this bug to?
Flags: needinfo?(michael)
Comment 6•8 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] from comment #5)
> Did bug 1380081 fix this? Should we dupe this bug against it?
>
> If not, what is a good component to move this bug to?
Yes, we are collecting compositor hangs and you can see them on hangs.html: https://squarewave.github.io/?category=all&durationSpec=128_512&payloadID=d2647388aed04aad9c4b3ddd51845c6b&thread=2
It looks like we have a lot of `(other)` frames right now on that thread/process. An `(other)` frame I believe is created as an aggregation of other frames which are < 0.001% of the overall hang time of its parent (ni? dthayer to correct me if I got the number wrong).
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(michael) → needinfo?(dothayer)
Resolution: --- → DUPLICATE
Comment 7•8 years ago
|
||
It's currently set at 1%. This tends to work all right for other threads / processes, but we may need to use a different value for the compositor process. I'll look into what these look like without the "other" globbing.
Flags: needinfo?(dothayer)
Comment 8•8 years ago
|
||
(Turns our there was a bug in the pruning logic. The corrected payload is now visible: https://squarewave.github.io/?category=all&durationSpec=2048_65536&payloadID=170dd9c8944349a893e8026b93141d65&thread=3)
Updated•8 years ago
|
Flags: needinfo?(nihsanullah)
You need to log in
before you can comment on or make changes to this bug.
Description
•