aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoffer Jansson <jansson@webrtc.org>2022-12-01 12:04:26 +0100
committerWebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-12-01 14:02:47 +0000
commitd8d86bd3329d05fdcc5402140917eb70b340c9c6 (patch)
tree168a8f2c6a96bece99aa137fdbdf9dd1af36dfb5
parenta445e6a489461e41481267a0dba52a09152864d5 (diff)
downloadwebrtc-d8d86bd3329d05fdcc5402140917eb70b340c9c6.tar.gz
Add working Perf tests for Fuchsia
Utilize VM in perf pool for Fuchsia (separate CL) Bug: b/232740856 Change-Id: Ia69f72bbf2046db3bc9b1e5edabda6cc4a339fe6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285721 Reviewed-by: Jeremy Leconte <jleconte@google.com> Commit-Queue: Christoffer Jansson <jansson@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38787}
-rw-r--r--BUILD.gn16
-rw-r--r--infra/specs/client.webrtc.perf.json61
-rw-r--r--infra/specs/gn_isolate_map.pyl4
-rw-r--r--infra/specs/mixins.pyl21
-rw-r--r--infra/specs/mixins_webrtc.pyl19
-rw-r--r--infra/specs/test_suites.pyl5
-rw-r--r--infra/specs/waterfalls.pyl12
7 files changed, 130 insertions, 8 deletions
diff --git a/BUILD.gn b/BUILD.gn
index ca60bdc24b..433e22e7b9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -722,6 +722,22 @@ if (rtc_include_tests && !build_with_chromium) {
}
}
+ rtc_test("fuchsia_perf_tests") {
+ testonly = true
+ deps = [
+ #TODO(fxbug.dev/115601) - Enable when fixed
+ #"call:call_perf_tests",
+ #"video:video_pc_full_stack_tests",
+ "modules/audio_coding:audio_coding_perf_tests",
+ "modules/audio_processing:audio_processing_perf_tests",
+ "pc:peerconnection_perf_tests",
+ "test:test_main",
+ "video:video_full_stack_tests",
+ ]
+
+ data = webrtc_perf_tests_resources
+ }
+
rtc_test("webrtc_nonparallel_tests") {
testonly = true
deps = [ "rtc_base:rtc_base_nonparallel_tests" ]
diff --git a/infra/specs/client.webrtc.perf.json b/infra/specs/client.webrtc.perf.json
index 4f61d9ce6d..5901abd5f1 100644
--- a/infra/specs/client.webrtc.perf.json
+++ b/infra/specs/client.webrtc.perf.json
@@ -30,6 +30,7 @@
"android_devices": "1",
"device_os": "M",
"device_type": "shamu",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -65,6 +66,7 @@
"android_devices": "1",
"device_os": "M",
"device_type": "shamu",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -108,6 +110,7 @@
"android_devices": "1",
"device_os": "M",
"device_type": "hammerhead",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -143,6 +146,7 @@
"android_devices": "1",
"device_os": "M",
"device_type": "hammerhead",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -185,6 +189,7 @@
{
"android_devices": "1",
"device_type": "walleye",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -219,6 +224,7 @@
{
"android_devices": "1",
"device_type": "walleye",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -261,6 +267,7 @@
{
"android_devices": "1",
"device_type": "redfin",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -295,6 +302,7 @@
{
"android_devices": "1",
"device_type": "redfin",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -338,6 +346,7 @@
"android_devices": "1",
"device_os": "MMB29Q",
"device_type": "bullhead",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -373,6 +382,7 @@
"android_devices": "1",
"device_os": "MMB29Q",
"device_type": "bullhead",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -415,6 +425,7 @@
{
"android_devices": "1",
"device_type": "walleye",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -449,6 +460,7 @@
{
"android_devices": "1",
"device_type": "walleye",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -491,6 +503,7 @@
{
"android_devices": "1",
"device_type": "redfin",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -525,6 +538,7 @@
{
"android_devices": "1",
"device_type": "redfin",
+ "gce": 0,
"os": "Android",
"pool": "WebRTC-perf"
}
@@ -539,7 +553,45 @@
}
]
},
- "Perf Fuchsia": {},
+ "Perf Fuchsia": {
+ "isolated_scripts": [
+ {
+ "args": [
+ "--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb",
+ "--nologs"
+ ],
+ "idempotent": false,
+ "isolate_name": "fuchsia_perf_tests",
+ "merge": {
+ "args": [
+ "--test-suite",
+ "fuchsia_perf_tests"
+ ],
+ "script": "//tools_webrtc/perf/process_perf_results.py"
+ },
+ "name": "fuchsia_perf_tests",
+ "resultdb": {
+ "enable": true,
+ "has_native_resultdb_integration": true
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "gce": 1,
+ "os": "Ubuntu-18.04",
+ "pool": "WebRTC-perf"
+ }
+ ],
+ "hard_timeout": 10800,
+ "io_timeout": 10800,
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ },
+ "test_id_prefix": "ninja://:fuchsia_perf_tests/"
+ }
+ ]
+ },
"Perf Linux Bionic": {
"isolated_scripts": [
{
@@ -565,6 +617,7 @@
"can_use_on_swarming_builders": true,
"dimension_sets": [
{
+ "gce": 0,
"os": "Ubuntu-18.04",
"pool": "WebRTC-perf"
}
@@ -599,6 +652,7 @@
"can_use_on_swarming_builders": true,
"dimension_sets": [
{
+ "gce": 0,
"os": "Ubuntu-18.04",
"pool": "WebRTC-perf"
}
@@ -637,6 +691,7 @@
"dimension_sets": [
{
"cpu": "x86-64",
+ "gce": 0,
"os": "Mac-11",
"pool": "WebRTC-perf"
}
@@ -672,6 +727,7 @@
"dimension_sets": [
{
"cpu": "x86-64",
+ "gce": 0,
"os": "Mac-11",
"pool": "WebRTC-perf"
}
@@ -709,6 +765,7 @@
"dimension_sets": [
{
"cpu": "arm64-64-Apple_M1",
+ "gce": 0,
"os": "Mac-12",
"pool": "WebRTC-perf"
}
@@ -746,6 +803,7 @@
"can_use_on_swarming_builders": true,
"dimension_sets": [
{
+ "gce": 0,
"os": "Windows-10",
"pool": "WebRTC-perf"
}
@@ -780,6 +838,7 @@
"can_use_on_swarming_builders": true,
"dimension_sets": [
{
+ "gce": 0,
"os": "Windows-10",
"pool": "WebRTC-perf"
}
diff --git a/infra/specs/gn_isolate_map.pyl b/infra/specs/gn_isolate_map.pyl
index 25ab4f2e2d..7d1857225f 100644
--- a/infra/specs/gn_isolate_map.pyl
+++ b/infra/specs/gn_isolate_map.pyl
@@ -59,6 +59,10 @@
"label": "//sdk/android:android_instrumentation_test_apk",
"type": "console_test_launcher",
},
+ "fuchsia_perf_tests": {
+ "label": "//:fuchsia_perf_tests",
+ "type": "raw",
+ },
"low_bandwidth_audio_test": {
"label": "//audio:low_bandwidth_audio_test",
"type": "console_test_launcher",
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 626c26fad8..84cacd70b1 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -192,6 +192,15 @@
'args': ['--out-dir', '${ISOLATED_OUTDIR}']
}
},
+ 'perf-fuchsia-perf-tests': {
+ 'merge': {
+ 'script': '//tools_webrtc/perf/process_perf_results.py',
+ 'args': ['--test-suite', 'fuchsia_perf_tests']
+ },
+ '$mixin_append': {
+ 'args': ['--nologs']
+ }
+ },
'perf-low-bandwidth-audio-perf-test': {
'merge': {
'script': '//tools_webrtc/perf/process_perf_results.py',
@@ -209,7 +218,17 @@
'swarming': {
'idempotent': False,
'dimensions': {
- 'pool': 'WebRTC-perf'
+ 'pool': 'WebRTC-perf',
+ 'gce': 0
+ }
+ }
+ },
+ 'perf-pool-vm': {
+ 'idempotent': False,
+ 'swarming': {
+ 'dimensions': {
+ 'pool': 'WebRTC-perf',
+ 'gce': 1
}
}
},
diff --git a/infra/specs/mixins_webrtc.pyl b/infra/specs/mixins_webrtc.pyl
index f026f7fa04..65cabfa4e9 100644
--- a/infra/specs/mixins_webrtc.pyl
+++ b/infra/specs/mixins_webrtc.pyl
@@ -136,6 +136,15 @@
}
}
},
+ 'perf-fuchsia-perf-tests': {
+ 'merge': {
+ 'script': '//tools_webrtc/perf/process_perf_results.py',
+ 'args': ['--test-suite', 'fuchsia_perf_tests'],
+ },
+ '$mixin_append': {
+ 'args': ['--nologs'],
+ },
+ },
'perf-low-bandwidth-audio-perf-test': {
'merge': {
'script': '//tools_webrtc/perf/process_perf_results.py',
@@ -157,6 +166,16 @@
'idempotent': False,
'dimensions': {
'pool': 'WebRTC-perf',
+ 'gce': 0,
+ },
+ },
+ },
+ 'perf-pool-vm': {
+ 'idempotent': False,
+ 'swarming': {
+ 'dimensions': {
+ 'pool': 'WebRTC-perf',
+ 'gce': 1,
},
},
},
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 0769355409..ece0551f69 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -116,6 +116,11 @@
'voip_unittests': {},
'webrtc_nonparallel_tests': {},
},
+ 'fuchsia_compatible_perf_tests': {
+ 'fuchsia_perf_tests': {
+ 'mixins': ['perf-fuchsia-perf-tests'],
+ },
+ },
'fuchsia_compatible_tests': {
'audio_decoder_unittests': {},
'common_audio_unittests': {},
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index 255ff3a991..e91569af2b 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -337,13 +337,13 @@
'os_type':
'linux',
'mixins': [
- 'linux-bionic', 'x86-64', 'perf-pool', 'timeout-3h', 'perf-output',
- 'has_native_resultdb_integration', 'chromium-tester-service-account'
+ 'linux-bionic', 'x86-64', 'perf-pool-vm', 'timeout-3h',
+ 'perf-output', 'has_native_resultdb_integration',
+ 'chromium-tester-service-account'
],
- # TODO(b/232740856): Reenable when Fuchsia has it's own bot to run perf tests.
- # 'test_suites': {
- #  'isolated_scripts': 'desktop_perf_tests',
- # }
+ 'test_suites': {
+ 'isolated_scripts': 'fuchsia_compatible_perf_tests',
+ }
},
'Perf Linux Bionic': {
'os_type':