[meta] MVP for browsertime on Windows 10 in CI
Categories
(Testing :: Performance, task)
Tracking
(Not tracked)
People
(Reporter: rwood, Unassigned)
References
(Blocks 3 open bugs)
Details
(Keywords: meta)
Attachments
(2 obsolete files)
Build a single page-load test suite (i.e. tp6-1) that uses browsertime with mitmproxy, and the existing mitmproxy recordings; running against Firefox desktop on Win10; in our existing taskcluster CI on the same hardware that raptor currently uses; reporting to perfherder.
Goal is to have data to compare browsertime vs raptor and see if it is viable to switch to browsertime.
Reporter | ||
Updated•5 years ago
|
Comment 1•5 years ago
|
||
One technical approach to this might be to lift the mozproxy
bits out of testing/raptor/raptor.py
for re-use, since configuring the proxy really isn't specific to the test runner; and then adding the equivalent of testing/browsertime/browsertime.py
. I imagine that the proxy handling is part of the test runner right now because we need the test details to determine the playback archive to download with tooltool. Can that lift up to the mozharness raptor.py
level, so that it controls the proxy fetching, etc, and just invokes the test runner with the correct environment?
Digging in further, I see that this is swimming hard against the current architecture. So is the right technical approach to generalize raptor/raptor.py
into a more generic runner, with Browsertime{Desktop,Android}
that handle the invocation of browsertime (in the same way that Raptor{Desktop,Android}
handle starting the control server, etc)?
Updated•5 years ago
|
Comment 3•5 years ago
|
||
(In reply to Nick Alexander :nalexander [he/him] from comment #2)
This probably depends on Bug 1563074.
I don't think this is a hard-blocker, but agree that this would be ideal.
Comment 4•5 years ago
|
||
This is the equivalent of .pth in virtualenv declarations. It sets up
a .egg file with a sys.path
addition, as far as I can tell.
Depends on D37128
Comment 5•5 years ago
|
||
This mechanical transform lays the foundation for generalizing the
underlying test runner.
Depends on D37131
Comment 6•5 years ago
|
||
Just tossing out some starting quality of life improvements and mechanical refactorings. Rob, see if they look sensible to you?
Next steps here would be to lift the proxy handling up to Perftest
(or better yet, out to a little manager) and (if we're feeling gung-ho) get rid of the use of config
for all these variables through to mozproxy
.
After that we can add Browsertime*
classes and implement run_test
as appropriate. I'm still not 100% on the best way to install browsertime; ./mach browsertime --setup
really leans into mach
in a way that doesn't make sense in a mozharness
environment. Maybe we lift the functionality out to a mozbase
accessible module and do the install in testing/raptor/raptor.py
in automation, and use the in-tree install in tools/browsertime
locally?
Reporter | ||
Comment 7•5 years ago
|
||
(In reply to Nick Alexander :nalexander [he/him] from comment #6)
Just tossing out some starting quality of life improvements and mechanical refactorings. Rob, see if they look sensible to you?
Next steps here would be to lift the proxy handling up to
Perftest
(or better yet, out to a little manager) and (if we're feeling gung-ho) get rid of the use ofconfig
for all these variables through tomozproxy
.
Yep sounds good to me!
After that we can add
Browsertime*
classes and implementrun_test
as appropriate. I'm still not 100% on the best way to install browsertime;./mach browsertime --setup
really leans intomach
in a way that doesn't make sense in amozharness
environment. Maybe we lift the functionality out to amozbase
accessible module and do the install intesting/raptor/raptor.py
in automation, and use the in-tree install intools/browsertime
locally?
Also sounds like a good plan!
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 8•5 years ago
|
||
(In reply to Nick Alexander :nalexander [he/him] from comment #5)
Created attachment 9076310 [details]
Bug 1561939 - Part 1: ExtractPerftest
abstract base class. r?rwoodThis mechanical transform lays the foundation for generalizing the
underlying test runner.Depends on D37131
Can you post a try push for this please Nick? Including Raptor on Firefox/Chromium/Android, thanks!
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Pushed by nalexander@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3125e12eee29 Pre: Make it easier to work with mozbase in Raptor locally. r=ahal https://hg.mozilla.org/integration/autoland/rev/2833ba67a5b9 Extract `Perftest` abstract base class. r=rwood,perftest-reviewers
Comment 10•5 years ago
|
||
(In reply to Pulsebot from comment #9)
Pushed by nalexander@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3125e12eee29
Pre: Make it easier to work with mozbase in Raptor locally. r=ahal
https://hg.mozilla.org/integration/autoland/rev/2833ba67a5b9
ExtractPerftest
abstract base class. r=rwood,perftest-reviewers
Ah, no, I pushed under the wrong bug number! I will try to fix.
Comment 11•5 years ago
|
||
Backout by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c2a690d8461c Backed out 2 changesets as per nalexander`s request.
Comment 12•5 years ago
|
||
(In reply to Pulsebot from comment #11)
Backout by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c2a690d8461c
Backed out 2 changesets as per nalexander`s request.
And I'll re-land under Bug 1564282 as soon as I can figure out how. Sorry, folks!
Updated•5 years ago
|
Comment 13•5 years ago
|
||
Comment on attachment 9076309 [details]
Bug 1561939 - Pre: Make it easier to work with mozbase in Raptor locally. r?ahal
Revision D37131 was moved to bug 1564282. Setting attachment 9076309 [details] to obsolete.
Comment 14•5 years ago
|
||
Comment on attachment 9076310 [details]
Bug 1561939 - Extract Perftest
abstract base class. r?rwood
Revision D37132 was moved to bug 1564282. Setting attachment 9076310 [details] to obsolete.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 15•5 years ago
|
||
Comment on attachment 9076309 [details]
Bug 1561939 - Pre: Make it easier to work with mozbase in Raptor locally. r?ahal
Revision D37131 was moved to bug 1564282. Setting attachment 9076309 [details] to obsolete.
Comment 16•5 years ago
|
||
Comment on attachment 9076310 [details]
Bug 1561939 - Extract Perftest
abstract base class. r?rwood
Revision D37132 was moved to bug 1564282. Setting attachment 9076310 [details] to obsolete.
Comment 17•5 years ago
|
||
This is permafailing on mozilla-central: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=6a96fdc69cc1f05f318bb212d402142c73dd4026&searchStr=raptor&selectedJob=258657582
Looks like the revision which caused these failures is : https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=raptor-speedometer-geckoview-power-e10s%2Crap%28sp-p%29&tochange=657c0163535f068a62447fa3e5f504c829bb15c8&fromchange=3eb04121209159cec75c59e0b1836ef8cad2435f&selectedJob=258681720
However, this has been backed out already by request: https://hg.mozilla.org/integration/autoland/rev/c2a690d8461ca420f0ac9e864c07157bd89ea52a
:nalexander, :aryx do you have any insight on why this is still failing? Could it be tied to Bug 1563074?
Comment 18•5 years ago
•
|
||
Looks like the failures introduced by Bug 1561939 are: TypeError: build_browser_profile() takes exactly 1 argument (2 given) https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=258681720&repo=autoland&lineNumber=906
and these went away with the backout Natalia mentioned in comment 17.
However, this line that is permafailing on central - mozdevice.adb.ADBTimeoutError: args: adb.7.205.132:5555 wait-for-device usb, exitcode: None, stdout: * daemon not running; starting now at tcp:5037: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=258681723&repo=autoland&lineNumber=1118
was introduced a push later with Bug 1525373 in https://hg.mozilla.org/integration/autoland/rev/4d0c22c47c7fa0a54c96b58008b3bd516b52b6d4
and was present also on the backout of bug 1561939: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=c2a690d8461ca420f0ac9e864c07157bd89ea52a&selectedJob=258681721&searchStr=android%2C8.0%2Cpixel2%2Cpgo%2Craptor%2Cperformance%2Ctests%2Con%2Cfirefox%2Ctest-android-hw-p2-8-0-arm7-api-16%2Fpgo-raptor-speedometer-geckoview-power-e10s%2Crap%28sp-p%29
A backout of Bug 1525373 fixes it: https://treeherder.mozilla.org/#/jobs?repo=try&group_state=expanded&revision=8c9a8fab632b2002a34fba4a3a4ad8ddc9714455&selectedJob=258684512
Comment 19•5 years ago
|
||
Thank you for the investigations.
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Description
•