Improve handling of Gecko profiler data
Categories
(Testing :: Raptor, defect, P2)
Tracking
(firefox69 fixed)
Tracking | Status | |
---|---|---|
firefox69 | --- | fixed |
People
(Reporter: whimboo, Assigned: whimboo)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
When running tests for the upcoming Youtube playback performance benchmark (bug 1548845) the generated gecko profiles are huge! As such the current handling of its data causes lots of problems, because it is way to slow. Here some ideas:
-
Don't call
console.log()
for the profile data before sending the data to the Python harness. This could add a hundreds of MB entry to the console, and causes a slowdown. -
The Raptor web extension tries to send the full profile data via a single packet over the local / remote (android) socket connection. Imagine what could happen when you do that with >100 MB or more data.
The best way to improve the performance would be to let the Raptor web extension directly save the profile to disk, and only inform the harness of the path. Sadly this is restricted for web extensions beside storing data via local storage.
Given that the profiler is a Gecko only thing anyway, I will check if I can build an addition via WebExtensions Experiments, which would allow us to access the profiler directly. That way we would simply call dumpProfileToFileAsync()
:
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
For a description of Webextensions Experiments see:
https://webextensions-experiments.readthedocs.io/en/latest/
Assignee | ||
Comment 2•5 years ago
|
||
The dumping of the profile directly to disk will be implemented in the profiler experimental API directly, which is covered by bug 1552845. Once that has been done Raptor can make use of it.
Assignee | ||
Comment 3•5 years ago
|
||
Depends on D33009
Assignee | ||
Comment 4•5 years ago
|
||
Assignee | ||
Comment 5•5 years ago
|
||
Improvements can be seen eg. for the speedometer tests which have profiles of about 33MB.
With the unpatched version it takes 5s:
https://treeherder.mozilla.org/logviewer.html#?job_id=248951432&repo=mozilla-central
With the patched version it takes 2s:
https://treeherder.mozilla.org/logviewer.html#?job_id=248966448&repo=try
Note that we also have a synchronous handling before shutting down the browser.
Updated•5 years ago
|
Assignee | ||
Comment 6•5 years ago
|
||
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e90b1260461b [raptor] Switch to dumpProfileToFile() for saving the Gecko profile. r=perftest-reviewers,sparky
Comment 8•5 years ago
|
||
bugherder |
Description
•