Open
Bug 707391
Opened 13 years ago
Updated 4 months ago
Categorize time away from event loop
Categories
(Core :: Gecko Profiler, enhancement, P3)
Tracking
()
NEW
People
(Reporter: taras.mozilla, Assigned: jrmuizel)
References
Details
(Whiteboard: [Snappy:p2])
It is not useful to know that we are spending a lot of time in event loop unless know where that time is going. Would be great to be able to generate telemetry data to report proportion of time spent in selector-matching, reflows, js execution, other blocking APIs.
This would help us justify invasive solutions like js green threads(bug 384412).
Will Benoit's profiler be sufficient for this? My goal would be to get an about:memory style report of exactly where time was spent(except snappy would need a temporal dimension).
Reporter | ||
Updated•13 years ago
|
Assignee: nobody → jmuizelaar
Comment 1•13 years ago
|
||
Broken record: with the circular-queue support now in jprof, it's fairly easy to trigger it on "long" event-loop instances and save the samples from the firing of the event until when it comes back to the loop (as an example).
Then when about:snappy (or whatever) is (re)loaded, spawn jprof to process the data thus far and dump it to an HTML file, and then it can be loaded into a tab, or what have you. The downside is that it's a profile - you have to be able to read profiles to use it. This might be of more use for the equivalent to an "about:snappy?profile" link off about:snappy.
With minor mods, jprof could select out individual instances for profiling - i.e. if about:snappy is showing you data (such as a histogram), you could select a bin of the histogram and pull up profiling data for just those instances (jprof can filter which sets of samples are included, and could easily be extended to include that). Or if it's showing a timeline, it could profil a specific event-loop instance.
Reporter | ||
Comment 2•13 years ago
|
||
It's not a matter of using a specific backend, it's the outcome I'm interested in. If we can categorize where our event loop time is spent via telemetry in the wild with jprof, that's good.
Comment 3•13 years ago
|
||
This sounds like exactly what BenWa is working on in bug 653703.
Reporter | ||
Comment 4•13 years ago
|
||
(In reply to Ted Mielczarek [:ted, :luser] from comment #3)
> This sounds like exactly what BenWa is working on in bug 653703.
Jeff proposed using that as a backend. This needs to be coarse grained so we can telemetry it.
Depends on: 653703
Comment 5•13 years ago
|
||
FYI, in bug 712224 I have patches for jprof that make it generate "cleopatra" output that BenWa's visualization tool can process.
Reporter | ||
Updated•13 years ago
|
Whiteboard: [Snappy] → [Snappy:p2]
Updated•2 years ago
|
Severity: normal → S3
Comment 6•5 months ago
|
||
Hi :jrmuizel, is this still a thing? Moving to Win 32 for now.
Component: General → Widget: Win32
Flags: needinfo?(jmuizelaar)
Assignee | ||
Comment 7•5 months ago
|
||
We could achieve something like this by running the gecko profiler at a very low sampling rate.
It's still something that would be nice to have.
Component: Widget: Win32 → Gecko Profiler
Flags: needinfo?(jmuizelaar)
Updated•4 months ago
|
Priority: -- → P3
Comment 8•4 months ago
|
||
Sounds more like an enhancement than a defect?
Yeah, you're right. Changed it.
Severity: S3 → N/A
Type: defect → enhancement
You need to log in
before you can comment on or make changes to this bug.
Description
•