Bug 1699140 - Remove by-pageload taskgraph transform for page load tests r=perftest-reviewers,sparky

Differential Revision: https://phabricator.services.mozilla.com/D108788
This commit is contained in:
Dave Hunt 2021-03-17 23:16:43 +00:00
Родитель 6c2d77e198
Коммит 210310640d
3 изменённых файлов: 22 добавлений и 159 удалений

Просмотреть файл

@ -85,7 +85,6 @@ browsertime-tp6:
by-app:
firefox: ['fission']
default: []
pageload: cold
fission-tier: 2
fission-run-on-projects:
by-test-platform:
@ -182,7 +181,6 @@ browsertime-tp6-live:
tier: 2
apps: ["firefox"]
variants: []
pageload: cold
treeherder-symbol: Btime-live(tp6)
run-on-projects:
by-test-platform:
@ -199,9 +197,9 @@ browsertime-tp6-profiling:
raptor-test: tp6
raptor-subtests: ['amazon']
apps: ['firefox']
pageload: 'both'
treeherder-symbol: Btime-Prof(tp6)
max-run-time: 4000
mozharness:
extra-options:
- --chimera
- --gecko-profile

Просмотреть файл

@ -137,19 +137,11 @@ browsertime-tp6m:
chrome-m: []
fennec: []
geckoview:
by-pageload:
cold:
by-test-platform:
&android-cold-settings
android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta']
android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta']
default: []
warm:
by-test-platform:
&android-warm-settings
android-hw-g5-7-0-arm7-api-16-shippable/opt: ['mozilla-central']
android-hw-p2-8-0-android-aarch64-shippable/opt: ['mozilla-central']
default: []
&sheriffed-platforms
by-test-platform:
android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta']
android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta']
default: []
default:
by-test-platform:
android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central"]
@ -160,77 +152,28 @@ browsertime-tp6m:
chrome-m: []
refbrow: []
fennec: []
geckoview:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
geckoview: *sheriffed-platforms
default:
by-test-platform:
android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central", "try"]
default: []
default:
by-pageload:
cold:
by-app:
geckoview:
by-test-platform: *android-cold-settings
default: []
warm:
by-app:
geckoview:
by-test-platform: *android-warm-settings
default: []
by-app:
geckoview: *sheriffed-platforms
default: []
run-on-projects:
by-app:
geckoview:
by-subtest:
allrecipes:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
amazon-search:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
espn:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
facebook:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
google:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
microsoft-support:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
youtube-watch:
by-pageload:
cold:
by-test-platform: *android-cold-settings
warm:
by-test-platform: *android-warm-settings
allrecipes: *sheriffed-platforms
amazon-search: *sheriffed-platforms
espn: *sheriffed-platforms
facebook: *sheriffed-platforms
google: *sheriffed-platforms
microsoft-support: *sheriffed-platforms
youtube-watch: *sheriffed-platforms
default: []
default: []
pageload: cold
run-visual-metrics: true
treeherder-symbol: Btime(tp6m)
mozharness:
@ -345,7 +288,6 @@ browsertime-tp6m-live:
android-hw-p2-8-0-android-aarch64-shippable/opt: ["autoland"]
default: []
default: []
pageload: cold
run-visual-metrics: true
treeherder-symbol: Btime-live(tp6m)
mozharness:
@ -358,14 +300,13 @@ browsertime-tp6m-profiling:
raptor-test: tp6m
raptor-subtests: ["amazon", "youtube"]
apps: ["geckoview"]
pageload: cold
treeherder-symbol: Btime-Prof(tp6m)
mozharness:
script: raptor_script.py
config:
- raptor/android_hw_config.py
extra-options:
- --browsertime
- --chimera
- --gecko-profile
browsertime-speedometer-mobile:

Просмотреть файл

@ -8,7 +8,6 @@ from copy import deepcopy
from six import text_type
from voluptuous import (
Any,
Optional,
Required,
Extra,
@ -30,18 +29,12 @@ raptor_description_schema = Schema(
Optional("raptor-subtests"): optionally_keyed_by("app", "test-platform", list),
Optional("activity"): optionally_keyed_by("app", text_type),
Optional("binary-path"): optionally_keyed_by("app", text_type),
Optional("pageload"): optionally_keyed_by(
"test-platform",
"app",
Any("cold", "warm", "both"),
),
# Configs defined in the 'test_description_schema'.
Optional("max-run-time"): optionally_keyed_by(
"app", test_description_schema["max-run-time"]
),
Optional("run-on-projects"): optionally_keyed_by(
"app",
"pageload",
"test-name",
"raptor-test",
"subtest",
@ -49,7 +42,6 @@ raptor_description_schema = Schema(
),
Optional("fission-run-on-projects"): optionally_keyed_by(
"app",
"pageload",
"test-name",
"raptor-test",
"subtest",
@ -58,7 +50,6 @@ raptor_description_schema = Schema(
),
Optional("webrender-run-on-projects"): optionally_keyed_by(
"app",
"pageload",
"test-name",
"raptor-test",
"subtest",
@ -95,7 +86,6 @@ transforms.add_validate(raptor_description_schema)
@transforms.add
def set_defaults(config, tests):
for test in tests:
test.setdefault("pageload", None)
test.setdefault("run-visual-metrics", False)
yield test
@ -122,12 +112,7 @@ def split_apps(config, tests):
atest["app"] = app
atest["description"] += " on {}".format(app.capitalize())
name = atest["test-name"]
if name.endswith("-cold"):
name = atest["test-name"][: -len("-cold")] + suffix + "-cold"
else:
name += suffix
name = atest["test-name"] + suffix
atest["test-name"] = name
atest["try-name"] = name
@ -146,21 +131,8 @@ def handle_keyed_by_prereqs(config, tests):
these keyed-by options might have keyed-by fields
as well.
"""
fields = ["raptor-subtests", "pageload"]
for test in tests:
for field in fields:
resolve_keyed_by(test, field, item_name=test["test-name"])
# We need to make the split immediately so that we can split
# task configurations by pageload type, the `both` condition is
# the same as not having a by-pageload split.
if test["pageload"] == "both":
test["pageload"] = "cold"
warmtest = deepcopy(test)
warmtest["pageload"] = "warm"
yield warmtest
resolve_keyed_by(test, "raptor-subtests", item_name=test["test-name"])
yield test
@ -214,44 +186,6 @@ def handle_keyed_by(config, tests):
yield test
@transforms.add
def split_pageload(config, tests):
# Split test by pageload type (cold, warm)
for test in tests:
mozharness = test.setdefault("mozharness", {})
extra_options = mozharness.setdefault("extra-options", [])
pageload = test.pop("pageload", None)
if not pageload or "--chimera" in extra_options:
yield test
continue
if pageload in ("warm", "both"):
# make a deepcopy if 'both', otherwise use the test object itself
warmtest = deepcopy(test) if pageload == "both" else test
warmtest["warm"] = True
group, symbol = split_symbol(warmtest["treeherder-symbol"])
symbol += "-w"
warmtest["treeherder-symbol"] = join_symbol(group, symbol)
yield warmtest
if pageload in ("cold", "both"):
assert "subtest" in test
test["description"] += " using cold pageload"
test["cold"] = True
test["max-run-time"] = 3000
test["test-name"] += "-cold"
test["try-name"] += "-cold"
group, symbol = split_symbol(test["treeherder-symbol"])
symbol += "-c"
test["treeherder-symbol"] = join_symbol(group, symbol)
yield test
@transforms.add
def split_page_load_by_url(config, tests):
for test in tests:
@ -285,15 +219,8 @@ def split_page_load_by_url(config, tests):
test["try-name"] += "-{}".format(subtest)
# Set treeherder symbol and description
group, symbol = split_symbol(test["treeherder-symbol"])
symbol = subtest_symbol
if test.get("cold"):
symbol += "-c"
elif test.pop("warm", False):
symbol += "-w"
test["treeherder-symbol"] = join_symbol(group, symbol)
group, _ = split_symbol(test["treeherder-symbol"])
test["treeherder-symbol"] = join_symbol(group, subtest_symbol)
test["description"] += " on {}".format(subtest)
yield test
@ -328,9 +255,6 @@ def add_extra_options(config, tests):
if "app" in test:
extra_options.append("--app={}".format(test.pop("app")))
if test.pop("cold", False) is True:
extra_options.append("--cold")
if "activity" in test:
extra_options.append("--activity={}".format(test.pop("activity")))