Commit e3d9c6d3 authored by Ross McIlroy's avatar Ross McIlroy Committed by Commit Bot

[Perf] Update Pixel2 FYI perf bot to MonoChrome6432.aab.

This will update the Pixel2 bots to use the MonoChrome6432.aab which is a 64bit
browser. In making this change a new 'exact_browser' option is added to
tester_config in perf_data_generator to allow specifying a particular binary to
be run rather than guessing.

Reland of: https://chromium-review.googlesource.com/c/chromium/src/+/1511455

TBR=crouleau@chromium.org
BUG=934251

Change-Id: I21bf7ae8e42f0e4c127748eeecc58a8af34334a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1587563Reviewed-by: default avatarRoss McIlroy <rmcilroy@chromium.org>
Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654862}
parent 09d23a0b
...@@ -52,8 +52,10 @@ ...@@ -52,8 +52,10 @@
{ {
"args": [ "args": [
"-v", "-v",
"--browser=android-chrome", "--browser=exact",
"--upload-results", "--upload-results",
"--browser-executable=../../out/Release/bin/monochrome_64_32_bundle",
"--device=android",
"--run-ref-build", "--run-ref-build",
"--test-shard-map-filename=android-pixel2-perf_map.json" "--test-shard-map-filename=android-pixel2-perf_map.json"
], ],
......
...@@ -130,6 +130,7 @@ FYI_BUILDERS = { ...@@ -130,6 +130,7 @@ FYI_BUILDERS = {
} }
], ],
'platform': 'android-chrome', 'platform': 'android-chrome',
'browser': 'bin/monochrome_64_32_bundle',
'dimension': { 'dimension': {
'pool': 'chrome.tests.perf-fyi', 'pool': 'chrome.tests.perf-fyi',
'os': 'Android', 'os': 'Android',
...@@ -968,6 +969,8 @@ def generate_telemetry_args(tester_config): ...@@ -968,6 +969,8 @@ def generate_telemetry_args(tester_config):
# For trybot testing we always use the reference build # For trybot testing we always use the reference build
if tester_config.get('testing', False): if tester_config.get('testing', False):
browser_name = 'reference' browser_name = 'reference'
elif 'browser' in tester_config:
browser_name = 'exact'
elif tester_config['platform'] == 'android': elif tester_config['platform'] == 'android':
browser_name = 'android-chromium' browser_name = 'android-chromium'
elif tester_config['platform'].startswith('android-'): elif tester_config['platform'].startswith('android-'):
...@@ -984,7 +987,13 @@ def generate_telemetry_args(tester_config): ...@@ -984,7 +987,13 @@ def generate_telemetry_args(tester_config):
'--upload-results' '--upload-results'
] ]
if browser_name.startswith('android-webview'): if 'browser' in tester_config:
test_args.append('--browser-executable=../../out/Release/%s' %
tester_config['browser'])
if tester_config['platform'].startswith('android'):
test_args.append('--device=android')
if tester_config['platform'].startswith('android-webview'):
test_args.append( test_args.append(
'--webview-embedder-apk=../../out/Release/apks/SystemWebViewShell.apk') '--webview-embedder-apk=../../out/Release/apks/SystemWebViewShell.apk')
......
...@@ -97,6 +97,61 @@ class PerfDataGeneratorTest(unittest.TestCase): ...@@ -97,6 +97,61 @@ class PerfDataGeneratorTest(unittest.TestCase):
} }
self.assertEquals(returned_test, expected_generated_test) self.assertEquals(returned_test, expected_generated_test)
def testGeneratePerformanceTestSuiteExact(self):
swarming_dimensions = [
{'os': 'SkyNet', 'pool': 'T-RIP'}
]
test_config = {
'platform': 'android-webview',
'browser': 'bin/monochrome_64_32_bundle',
'dimension': swarming_dimensions,
}
test = {
'isolate': 'performance_test_suite',
'extra_args': [
'--run-ref-build',
'--test-shard-map-filename=shard_map.json',
],
'num_shards': 26
}
returned_test = perf_data_generator.generate_performance_test(
test_config, test)
expected_generated_test = {
'override_compile_targets': ['performance_test_suite'],
'isolate_name': 'performance_test_suite',
'args': ['-v', '--browser=exact', '--upload-results',
'--browser-executable=../../out/Release'
'/bin/monochrome_64_32_bundle',
'--device=android',
'--webview-embedder-apk=../../out/Release'
'/apks/SystemWebViewShell.apk',
'--run-ref-build',
'--test-shard-map-filename=shard_map.json'],
'trigger_script': {
'args': [
'--multiple-dimension-script-verbose',
'True'
],
'requires_simultaneous_shard_dispatch': True,
'script': '//testing/trigger_scripts/perf_device_trigger.py'
},
'merge': {
'script': '//tools/perf/process_perf_results.py'
},
'swarming': {
'ignore_task_failure': False,
'can_use_on_swarming_builders': True,
'expiration': 7200,
'io_timeout': 1800,
'hard_timeout': 36000,
'dimension_sets': [[{'os': 'SkyNet', 'pool': 'T-RIP'}]],
'shards': 26
},
'name': 'performance_test_suite'
}
self.assertEquals(returned_test, expected_generated_test)
def testGeneratePerformanceTestSuiteWebview(self): def testGeneratePerformanceTestSuiteWebview(self):
swarming_dimensions = [ swarming_dimensions = [
{'os': 'SkyNet', 'pool': 'T-RIP'} {'os': 'SkyNet', 'pool': 'T-RIP'}
......
...@@ -81,17 +81,18 @@ def _ValidateBrowserType(builder_name, test_config): ...@@ -81,17 +81,18 @@ def _ValidateBrowserType(builder_name, test_config):
browser_options = _ParseBrowserFlags(test_config['args']) browser_options = _ParseBrowserFlags(test_config['args'])
if 'WebView' in builder_name or 'webview' in builder_name: if 'WebView' in builder_name or 'webview' in builder_name:
if browser_options.browser not in ( if browser_options.browser not in (
'android-webview', 'android-webview-google'): 'android-webview', 'android-webview-google', 'exact'):
raise ValueError( raise ValueError(
"%s must use 'android-webview' or 'android-webview-google' browser" % "%s must use 'android-webview', 'android-webview-google' or 'exact' "
builder_name) "browser" % builder_name)
if not browser_options.webview_embedder_apk: if not browser_options.webview_embedder_apk:
raise ValueError('%s must set --webview-embedder-apk flag' % builder_name) raise ValueError('%s must set --webview-embedder-apk flag' % builder_name)
elif 'Android' in builder_name or 'android' in builder_name: elif 'Android' in builder_name or 'android' in builder_name:
if browser_options.browser not in ('android-chromium', 'android-chrome'): if browser_options.browser not in (
'android-chromium', 'android-chrome', 'exact'):
raise ValueError( raise ValueError(
"%s must use 'android-chromium' or 'android-chrome' browser" % "%s must use 'android-chromium', 'android-chrome' or 'exact' "
builder_name) "browser" % builder_name)
elif builder_name in ('win-10-perf', 'Win 7 Nvidia GPU Perf'): elif builder_name in ('win-10-perf', 'Win 7 Nvidia GPU Perf'):
if browser_options.browser != 'release_x64': if browser_options.browser != 'release_x64':
raise ValueError("%s must use 'release_x64' browser type" % raise ValueError("%s must use 'release_x64' browser type" %
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment