Commit Graph

312 Commits

Author SHA1 Message Date
andrej
546f3e2019 Bug 1836330 - Enable android chrome startup testing for cold_main_first_frame. r=perftest-reviewers,sparky
In this commit we are adding the ability to run the cold_main_first_frame startup test on android google chrome

Differential Revision: https://phabricator.services.mozilla.com/D202626
2024-03-26 12:51:54 +00:00
andrej
fac2599e0f Bug 1885080 - Modify links used to download browser apks for android_startup script. r=perftest-reviewers,afinder
As the monorepo migration is occurring we want to access the apks in the new place they are located in post-migration

Differential Revision: https://phabricator.services.mozilla.com/D205014
2024-03-19 15:35:24 +00:00
ahochheiden
23ed599a56 Bug 1877344 - Replace all usages of distutils.spawn.find_executable with shutil.which within mach r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D199949
2024-02-08 21:07:26 +00:00
Greg Mierzwinski
05889cd4a2 Bug 1877180 - Pass the app name to mozproxy during recording. r=perftest-reviewers,kshampur,afinder DONTBUILD
This patch fixes a couple bugs with recording. The first is that the app wasn't being passed to mozproxy, and this was preventing the creation of the mitmproxy certificate for the app being used to record. The second is that the --proxy-deterministic flag isn't defined within the proxy layer even though it's used by it from the hooks.

Differential Revision: https://phabricator.services.mozilla.com/D199891
2024-02-02 13:09:18 +00:00
andrej
8f63599047 Bug 1874774 - Remove references to moto g5 and pixel2 devices in taskcluster. r=perftest-reviewers,jmaher,sparky
As the motorola G5 and the Pixel 2 have been removed from CI we are also going to remove references to them in our documentation and taskcluster code.

Differential Revision: https://phabricator.services.mozilla.com/D199294
2024-01-31 02:42:08 +00:00
andrej
4b439bc34d Bug 1870500 - Resolving the WPT intermittent failure. r=perftest-reviewers,kshampur
The issue we were encountering here was a missing metric for canva.com intermittently occuring
That ocured because of the location of that metric(first contentful paint) in the returned json moved locations for just canva.com, and so canva.com was removed whilst the problem debugged. Afterwards it was discovered that this issue was covering up another intermittent about json decoding error which was in turn resolved by removing code which removed "www." from links used with python requests.

Differential Revision: https://phabricator.services.mozilla.com/D199238
2024-01-24 02:36:24 +00:00
Alex Finder
bb6f20840b Bug 1870051 Update mozperftest-tools version to 0.3.2 r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D196428
2024-01-08 16:25:43 +00:00
Greg Mierzwinski
d126866ea8 Bug 1870864 - Fix mozperftest writing docs to mention mochitest. r=aglavic,perftest-reviewers DONTBUILD
This patch fixes the mozperftest docs to mention mochitest in the writing section, as well as fixes the `info` calls so that they mention the JSON.stringify requirement.

Differential Revision: https://phabricator.services.mozilla.com/D196853
2024-01-08 15:15:45 +00:00
Joel Maher
2a46c30602 Bug 1869871 - convert perftest.ini -> .toml. r=sparky,perftest-reviewers,necko-reviewers,jesup
Differential Revision: https://phabricator.services.mozilla.com/D196334
2023-12-14 19:41:14 +00:00
Joel Maher
77b297b305 Bug 1869437 - support .toml for mozperftest when using xpcshell. r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D196190
2023-12-12 17:34:41 +00:00
Greg Mierzwinski
759c68c2fd Bug 1868937 - Prevent install of opencv during mozperftest unit tests.r=aglavic
This patch prevents the mozperftest unit tests from installing the opencv-python/mozperftest-tools module during unit tests.

Differential Revision: https://phabricator.services.mozilla.com/D195901
2023-12-11 14:56:43 +00:00
Greg Mierzwinski
9255bc2ec3 Bug 1867956 - Remove opencv-python 4.5 install, and update mpt to 0.2.9. r=perftest-reviewers,AlexandruIonescu DONTBUILD
This patch updates mozperftest-tools to 0.2.9, and removes the opencv-python 4.5 install since it interferes with the new opencv-python package that has a lower minimum version for python (version 3.7).

Differential Revision: https://phabricator.services.mozilla.com/D195774
2023-12-07 14:17:54 +00:00
Greg Mierzwinski
1c04160996 Bug 1865869 - Allow toml files to be used in perfdocs generation. r=jmarshall,perftest-reviewers,afinder DONTBUILD
This patch fixes an issue where only `perftest.ini` manifests were being parsed for mozperftest tests in perfdocs. It's temporary as we will move all ini manifests to toml in the future. At the same time, this patch adds missing documentation for some new mozperftest tests that use a toml manifest to define the tests.

Differential Revision: https://phabricator.services.mozilla.com/D194251
2023-12-06 13:01:24 +00:00
Joshua Marshall
b831405fb6 Bug 1299271 - Service worker performance test r=asuth,sparky
These are a first-cut of service worker performance tests, just running as
vanilla mochitests for now.  Bug 1832059 tracks the integration work necessary.

Differential Revision: https://phabricator.services.mozilla.com/D177427
2023-11-28 16:33:38 +00:00
Sandor Molnar
b429cda521 Backed out changeset 6a14206eb5a9 (bug 1299271) for causing python taskgraph-tests failures at taskcluster/gecko_taskgraph/test/test_util_chunking.py CLOSED TREE 2023-11-22 22:50:30 +02:00
Joshua Marshall
057d16961f Bug 1299271 - Service worker performance test r=asuth,sparky
These are a first-cut of service worker performance tests, just running as
vanilla mochitests for now.  Bug 1832059 tracks the integration work necessary.

Differential Revision: https://phabricator.services.mozilla.com/D177427
2023-11-22 13:16:11 +00:00
Greg Mierzwinski
4dfa5c2bea Bug 1856681 - Use proper venv for perftest-tools, and accept output argument. r=perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D189962
2023-11-21 16:59:06 +00:00
Greg Mierzwinski
e3cf8167a3 Bug 1860189 - Setup path for DMG extraction for Mac Mochitest mozperftest. r=perftest-reviewers,kshampur
This patch sets up the paths for DMG extraction for Mochitest mozperftest tests. It also adds some additional artifacts for the mac tests to pull and extract.

Differential Revision: https://phabricator.services.mozilla.com/D192071
2023-11-07 14:37:25 +00:00
Greg Mierzwinski
12bf93973d Bug 1861506 - Add docs on how to write mozperftest Mochitest tests. r=afinder,perftest-reviewers DONTBUILD
This patch adds some documentation on how to write Mochitest tests that are compatible with mozperftest. It also provides some additional information about running the tests, setting them up, and some common issues that people can hit.

Differential Revision: https://phabricator.services.mozilla.com/D192019
2023-10-27 14:39:48 +00:00
Greg Mierzwinski
20611798b5 Bug 1860189 - Handle virtualenv paths correctly when installing requirements. r=aglavic,perftest-reviewers
This patch adds some code to handle when the virtualenv lib path changes between the different platforms. In this case, the change makes it possible to use mochitest-mozperftest on winows machines in CI. It also adds some additional artifacts that the windows tests need to pull.

Differential Revision: https://phabricator.services.mozilla.com/D191741
2023-10-26 17:57:11 +00:00
Greg Mierzwinski
6ca2c41aee Bug 1832059 - Add a layer to run mochitest performance tests. r=perftest-reviewers,kshampur
This patch adds a new layer that allows developers to run mochitest tests as performance tests directly. It provides the ability to run them in CI on linux, and locally through `./mach test` using the FunctionalTestRunner. Some additional try mapping is also added for future tests. The remote run (CI) method uses the mochitest run_test_harness method directly, along with the mochitest argument parser.

Differential Revision: https://phabricator.services.mozilla.com/D190994
2023-10-24 13:05:50 +00:00
Greg Mierzwinski
528dbee04c Bug 1832059 - Add a test runner for functional tests to mozperftest. r=perftest-reviewers,kshampur
This patch adds a FunctionalTestRunner class that can be used by all the layers to run `./mach test` which lets us easily run all functional tests locally. It will be used for running mochitest tests, and in the future, it may replace parts of the xpcshell layer.

The runner can only be used locally, and only needs a test path provided. It will then run all the manifests that it finds that test in (but only running that single test). At the same time, it'll parse the logs produced by `./mach test` with FunctionalTestProcessor to find all the metrics that were output. However, it does not parse them into a JSON format, that's left for the layers to handle.

Differential Revision: https://phabricator.services.mozilla.com/D190993
2023-10-24 13:05:49 +00:00
Greg Mierzwinski
5039d0d015 Bug 1832059 - Add new methods for importing, and installing to mozperftest. r=perftest-reviewers,aglavic
These methods are added as we need to install a requirement file for mochitest (marionette), and we also need to import a class directly from a file. The existing methods we have for importing, and installation don't work for these cases.

Differential Revision: https://phabricator.services.mozilla.com/D190992
2023-10-24 13:05:49 +00:00
Greg Mierzwinski
edbd58c871 Bug 1832059 - Modify ScriptInfo to handle mochitest html files. r=perftest-reviewers,AlexandruIonescu
This patch adds the ability to parse HTML files (mochitest test files) to ScriptInfo. This makes it possible to parse the `perfMetadata` from the mochitest tests which will provide mozperftest with default options, and metadata for our performance docs.

Differential Revision: https://phabricator.services.mozilla.com/D190990
2023-10-24 13:05:48 +00:00
Alex Finder
01178b4489 Bug 1843139 Update mozperftest-tools to 0.2.8 r=perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D189915
2023-10-23 11:04:46 +00:00
andrej
1f4fea0034 Bug 1850665 - Alter location URL and request headers to not be blocked when requesting location queue. r=perftest-reviewers,kshampur
A week ago we got a permafail when requesting to know the location queue for certain data centres for webpagetest
I investigated and found the request was being blocked by cloudflare for some security reasons
Modifying the request URL and modifying headers resolved the issue

Differential Revision: https://phabricator.services.mozilla.com/D187497
2023-09-07 16:12:48 +00:00
Logan Rosen
f024d94b2b Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D186092
2023-09-06 16:14:30 +00:00
Logan Rosen
51f5fcdd75 Bug 1786490 - remove references to vendored pyparsing r=sylvestre,mach-reviewers,ahal,ahochheiden
Not necessary because pyparsing is no longer a dependency of packaging, so it is no longer vendored.

Differential Revision: https://phabricator.services.mozilla.com/D186411
2023-09-06 16:14:30 +00:00
ahochheiden
2ced19d68c Bug 1845272 - Activate the common site virtualenv when calling the mozperftest/runner.py script directly (outside of a mach command context) r=ahal
Since various dependencies were moved out of the `mach` site, activating just it is no longer sufficient. Activating the `common` site solves this problem, since it has everything that was moved out of the `mach` site.

Differential Revision: https://phabricator.services.mozilla.com/D184662
2023-07-27 16:39:35 +00:00
andrej
680260ffea Bug 1843222 - Fenix and Focus download perma fail, link to downloading fenix and focus apk has changed. r=perftest-reviewers,sparky
The artifacts where the fenix and focus apks has changed locations and artifact names, this patch is altering the mozperftest fenix and focus startup test to use the new location and file names

Differential Revision: https://phabricator.services.mozilla.com/D183601
2023-07-17 15:56:59 +00:00
andrej
3ecd5237dd Bug 1816169 - Remove perftest_android_main.js and perftest_android_view.js from nightly cron. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D180724
2023-06-20 13:17:01 +00:00
Greg Mierzwinski
e3138205eb Bug 1827609 - Set new platform/test names correctly when using MWU to detect changes. r=perftest-reviewers,kshampur
Currently the new platform and task names are getting stuck as the first test being analyzed. This patch fixes it by changing how those two values are setup.

Differential Revision: https://phabricator.services.mozilla.com/D175246
2023-04-18 17:05:20 +00:00
andrej
3065a38bd4 Bug 1827256 - Run Nightly start up benchmarks on geckoview_example. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D175386
2023-04-18 13:23:49 +00:00
andrej
88c5885cf9 Bug 1812092 - Update startup tests to use a fixed current date. r=perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D173247
2023-04-11 19:11:07 +00:00
Paul Adenot
ffabb84fc7 Bug 1825554 - Use monotonic clock to report durations in mach. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D174118
2023-04-04 11:13:30 +00:00
Greg Mierzwinski
ff2ddd542a Bug 1821708 - Add tests for the change-detector.r=perftest-reviewers,afinder
This patch adds tests for the new change-detector tool.

Differential Revision: https://phabricator.services.mozilla.com/D172283
2023-03-28 11:16:52 +00:00
Greg Mierzwinski
57bae0188c Bug 1821708 - Add performance change detector to mach perftest-tools. r=perftest-reviewers,kshampur,AlexandruIonescu
This patch adds a new tool that runs a comparison between two, or more revisions to detect performance changes. Some changes are made to accommodate this new tool alongside the side-by-side tool. The tests for the detector coding are found in another patch in the series. A mozperftest-tools update to 0.2.5 is required for this change.

There is also a CI task that is added in this patch. It's setup in the mach try perf patch in this series, which also has more information.

Differential Revision: https://phabricator.services.mozilla.com/D172282
2023-03-28 11:16:51 +00:00
Greg Mierzwinski
b5deb4adf2 Bug 1613455 - Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest-reviewers,afinder
This patch allows mobile developers to upload custom APKs for testing through a commit. This allows them to run our performance tests by building locally, and then uploading to CI to run tests there.

The `./mach try perf` command is modified to make this simpler. It accepts either an environment variable, or a path to an APK, and copies it in-tree. After adding it to hg, the command stops running and asks the user to commit the changes. From there the user re-runs the `./mach try perf` command to select the appropriate tests.

Using --browsertime-upload-apk, users can use a custom APK for browsertime tests, and using --mozperftest-upload-apk, users can use a custom APK in mozperftest tests. The reason it's done this way is that we don't have common areas between the two frameworks. The methods are the same in both cases, i.e. for a fenix test, a fenix APK needs to be uploaded.

Differential Revision: https://phabricator.services.mozilla.com/D172435
2023-03-23 13:43:45 +00:00
Iulian Moraru
540cf0521d Backed out changeset faa1c03828fe (bug 1613455) for causing btime failures. CLOSED TREE 2023-03-22 19:10:02 +02:00
Greg Mierzwinski
d9c9e6a248 Bug 1613455 - Allow custom APK uploads for Geckoview/Fenix perftests. r=perftest-reviewers,afinder
This patch allows mobile developers to upload custom APKs for testing through a commit. This allows them to run our performance tests by building locally, and then uploading to CI to run tests there.

The `./mach try perf` command is modified to make this simpler. It accepts either an environment variable, or a path to an APK, and copies it in-tree. After adding it to hg, the command stops running and asks the user to commit the changes. From there the user re-runs the `./mach try perf` command to select the appropriate tests.

Using --browsertime-upload-apk, users can use a custom APK for browsertime tests, and using --mozperftest-upload-apk, users can use a custom APK in mozperftest tests. The reason it's done this way is that we don't have common areas between the two frameworks. The methods are the same in both cases, i.e. for a fenix test, a fenix APK needs to be uploaded.

Differential Revision: https://phabricator.services.mozilla.com/D172435
2023-03-22 12:30:17 +00:00
Greg Mierzwinski
25b79087e6 Bug 1784176 - Add a feature for manual logins for recording sites. r=perftest-reviewers,AlexandruIonescu
This patch adds the ability to run manual logins for our websites since it can be simpler, and quicker in some cases. At the same time, a bug with the options handling is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D164590
2023-03-20 14:42:45 +00:00
Andrew Halberstadt
441546dc79 Bug 1811850 - [lint] Replace isort linter with ruff, r=taskgraph-reviewers,linter-reviewers,marco,jcristau
This results in some changes from our current `isort` configuration. I'm
unclear if it's because ruff isn't at 100% parity with isort, they choose
different defaults or if I missed some configuration.

Either way, the changes all look reasonable to me (see child commit), so I'm
inclined to just accept the new import format it imposes.

Differential Revision: https://phabricator.services.mozilla.com/D172348
2023-03-20 13:06:27 +00:00
Cristian Tuns
c1b52fd95e Backed out 5 changesets (bug 1811850) for causing linting bustages(bugzilla) CLOSED TREE
Backed out changeset e8fcfc7f8108 (bug 1811850)
Backed out changeset f8950d716c9e (bug 1811850)
Backed out changeset f650123cc188 (bug 1811850)
Backed out changeset d96f90c2c58b (bug 1811850)
Backed out changeset c3b0f9666183 (bug 1811850)
2023-03-16 22:16:30 -04:00
Andrew Halberstadt
8b4f890651 Bug 1811850 - [lint] Replace isort linter with ruff, r=taskgraph-reviewers,linter-reviewers,marco,jcristau
This results in some changes from our current `isort` configuration. I'm
unclear if it's because ruff isn't at 100% parity with isort, they choose
different defaults or if I missed some configuration.

Either way, the changes all look reasonable to me (see child commit), so I'm
inclined to just accept the new import format it imposes.

Differential Revision: https://phabricator.services.mozilla.com/D172348
2023-03-17 01:53:59 +00:00
Greg Mierzwinski
673064a167 Bug 1821705 - Improve testing for perftestetl.py file. r=perftest-reviewers,afinder DONTBUILD
This patch fixes an issue in our perftestetl.py which was causing our coverage percent to drop "artificially". This is happening because there's a bit of code that's unreachable because of an exception that would always be triggered before it. This patch removes the unreachable code, and replaces it with an exception.

Differential Revision: https://phabricator.services.mozilla.com/D172281
2023-03-13 12:50:34 +00:00
andrej
110e4fac1e Bug 1816042 - WPT permafail JSONDecodeError. r=perftest-reviewers,AlexandruIonescu,sparky
Differential Revision: https://phabricator.services.mozilla.com/D170101
2023-03-06 18:31:27 +00:00
Greg Mierzwinski
1dc7ff9b55 Bug 1816171 - Update, and add a test for new summarization methods. r=perftest-reviewers,kshampur
This patch updates the existing tests so that they're inline with the new default of providing no summary value at the suite level. A new test is also added to test out custom transforms.

Differential Revision: https://phabricator.services.mozilla.com/D171613
2023-03-06 17:37:06 +00:00
Greg Mierzwinski
915fe6cd07 Bug 1816171 - Default to no summary value for suites in the perfherder layer. r=perftest-reviewers,kshampur
This patch removes the default summary value for perfherder suites. Afterwards, no summary value will be produced unless a new Transformer is provided, or the existing ones are modified.

The patch goes further and creates a path through which we can let users modify the suites, and subtest in any way they want. This is done by adding two new methods that can be added to the transformer being used on the data. Some changes also needed to be made to the MetricsStorage so that we keep track of the transformer. They can be specified on a per-subtest basis some day, but right now it applies a single transformer to all subtests of a given suite/data-type.

Differential Revision: https://phabricator.services.mozilla.com/D171612
2023-03-06 17:37:05 +00:00
Alex Ionescu
1d85b5a57d Bug 1817786 - Update perftest_tools version to 0.1.13 r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D170601
2023-02-24 08:07:41 +00:00
Johan Lorenzo
35d2276cdc Bug 1818225 - part 2: Remove outdated "focus" indices r=sparky
Depends on D170732

Differential Revision: https://phabricator.services.mozilla.com/D170733
2023-02-23 15:31:25 +00:00