Bug 1919625 - Add startup test category to ./mach try perf --android. r=perftest-reviewers,sparky

To make it easier for engineers to run startup tests, by adding a new category of tests, broadly defined as startup tests

Differential Revision: https://phabricator.services.mozilla.com/D226012
This commit is contained in:
aglavic 2024-11-18 17:21:12 +00:00
parent 5ea38abf90
commit a3e468a08e
2 changed files with 54 additions and 9 deletions

View File

@ -26,7 +26,7 @@ task-defaults:
--output $MOZ_FETCHES_DIR/../artifacts
hw-a55-startup-chrome-m-shopify-applink-startup:
hw-a55-aarch64-shippable-startup-chrome-m-shopify-applink-startup:
worker-type: t-bitbar-gw-perf-a55
description: Run android cold_view_nav_end perftest on Chrome on a Samsung A55
treeherder:
@ -46,7 +46,7 @@ hw-a55-startup-chrome-m-shopify-applink-startup:
--perfherder
--output $MOZ_FETCHES_DIR/../artifacts
hw-a55-startup-fenix-shopify-applink-startup:
hw-a55-aarch64-shippable-startup-fenix-shopify-applink-startup:
worker-type: t-bitbar-gw-perf-a55
description: Run android cold_view_nav_end perftest on Fenix on a Samsung A55
treeherder:
@ -81,7 +81,7 @@ hw-a55-aarch64:
symbol: perftest-a55
platform: android-hw-a55-14-0-aarch64-shippable/opt
hw-a55-startup-fenix-cold-main-first-frame:
hw-a55-aarch64-shippable-startup-fenix-cold-main-first-frame:
worker-type: t-bitbar-gw-perf-a55
run-on-projects: [trunk-only]
description: Run android startup perftest on Fenix on a Samsung A55
@ -110,7 +110,7 @@ hw-a55-startup-fenix-cold-main-first-frame:
--perfherder
--AndroidStartUp-product=fenix
hw-a55-startup-fenix-cold-view-nav-start:
hw-a55-aarch64-shippable-startup-fenix-cold-view-nav-start:
worker-type: t-bitbar-gw-perf-a55
run-on-projects: [trunk-only]
description: Run android startup perftest on Fenix on a Samsung A55
@ -139,7 +139,7 @@ hw-a55-startup-fenix-cold-view-nav-start:
--perfherder
--AndroidStartUp-product=fenix
hw-a55-startup-focus-cold-main-first-frame:
hw-a55-aarch64-shippable-startup-focus-cold-main-first-frame:
worker-type: t-bitbar-gw-perf-a55
description: Run android startup perftest on Focus on a Samsung A55
treeherder:
@ -167,7 +167,7 @@ hw-a55-startup-focus-cold-main-first-frame:
--perfherder
--AndroidStartUp-product=focus
hw-a55-startup-focus-cold-view-nav-start:
hw-a55-aarch64-shippable-startup-focus-cold-view-nav-start:
worker-type: t-bitbar-gw-perf-a55
description: Run android startup perftest on Focus on a Samsung A55
treeherder:
@ -195,7 +195,7 @@ hw-a55-startup-focus-cold-view-nav-start:
--perfherder
--AndroidStartUp-product=focus
hw-a55-startup-geckoview-cold-main-first-frame:
hw-a55-aarch64-shippable-startup-geckoview-cold-main-first-frame:
worker-type: t-bitbar-gw-perf-a55
run-on-projects: [trunk-only]
description: Run android startup perftest on Geckoview on a Samsung A55
@ -224,7 +224,7 @@ hw-a55-startup-geckoview-cold-main-first-frame:
--perfherder
--AndroidStartUp-product=geckoview_example
hw-a55-startup-geckoview-cold-view-nav-start:
hw-a55-aarch64-shippable-startup-geckoview-cold-view-nav-start:
worker-type: t-bitbar-gw-perf-a55
run-on-projects: [trunk-only]
description: Run android startup perftest on Geckoview_example on a Samsung A55
@ -253,7 +253,7 @@ hw-a55-startup-geckoview-cold-view-nav-start:
--perfherder
--AndroidStartUp-product=geckoview_example
hw-a55-startup-chrome-m-cold-main-first-frame:
hw-a55-aarch64-shippable-startup-chrome-m-cold-main-first-frame:
worker-type: t-bitbar-gw-perf-a55
description: Run android startup perftest on Chrome on a Samsung A55
treeherder:

View File

@ -57,6 +57,7 @@ class Suites(ClassificationEnum):
RAPTOR = {"value": "raptor", "index": 0}
TALOS = {"value": "talos", "index": 1}
AWSY = {"value": "awsy", "index": 2}
PERFTEST = {"value": "perftest", "index": 3}
class Variants(ClassificationEnum):
@ -198,6 +199,17 @@ def talos_test_finder(task_cmd, task_label, test):
return modified_task_label
def perftest_test_finder(task_cmd, task_label, test):
"""
This is a general finder for all performance tests, given
that mozperftest names don't include things like:
aarch64, shippable, or opt among other identifiers
"""
raise NotImplementedError(
"Mozperftest tests cannot currently be found for --alert or --tests"
)
def awsy_test_finder(task_cmd, task_label, test):
"""AWSY doesn't mention it's test name anywhere, and only
reports the metrics without the test name that actually triggered
@ -383,6 +395,14 @@ class ClassificationProvider:
"task-test-finder": awsy_test_finder,
"framework": 4,
},
Suites.PERFTEST.value: {
"apps": list(self.apps.keys()),
"platforms": list(self.platforms.keys()),
"variants": [],
"task-specifier": "perftest",
"task-test-finder": perftest_test_finder,
"framework": 15,
},
}
"""
@ -556,4 +576,29 @@ class ClassificationProvider:
"of pageload tests to run for performance testing."
),
},
"Startup": {
"query": {
Suites.PERFTEST.value: ["'startup"],
Suites.TALOS.value: ["'sessionrestore | 'other !damp"],
},
"suites": [Suites.PERFTEST.value, Suites.TALOS.value],
"platform-restrictions": [
Platforms.ANDROID.value,
Platforms.LINUX.value,
Platforms.MACOSX.value,
Platforms.WINDOWS.value,
],
"app-restrictions": {
Suites.PERFTEST.value: [
Apps.FENIX.value,
Apps.GECKOVIEW.value,
Apps.CHROME_M.value,
Apps.FIREFOX.value,
],
},
"tasks": [],
"description": (
"A group of tests that monitor startup performance of our android and desktop browsers"
),
},
}