Reland "Add working Perf tests for Fuchsia"

This is a reland of commit d8d86bd3329d05fdcc5402140917eb70b340c9c6

Original change's description:
> 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}

Bug: b/232740856
Change-Id: I3ae8b17990157bde4a08fd8a98379cffd2c38148
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285881
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38802}
This commit is contained in:
Jeremy Leconte
2022-12-02 20:54:15 +01:00
committed by WebRTC LUCI CQ
parent dd236a94f8
commit d0eaa54104
7 changed files with 128 additions and 7 deletions

View File

@ -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") { rtc_test("webrtc_nonparallel_tests") {
testonly = true testonly = true
deps = [ "rtc_base:rtc_base_nonparallel_tests" ] deps = [ "rtc_base:rtc_base_nonparallel_tests" ]

View File

@ -30,6 +30,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "M", "device_os": "M",
"device_type": "shamu", "device_type": "shamu",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -65,6 +66,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "M", "device_os": "M",
"device_type": "shamu", "device_type": "shamu",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -108,6 +110,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "M", "device_os": "M",
"device_type": "hammerhead", "device_type": "hammerhead",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -143,6 +146,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "M", "device_os": "M",
"device_type": "hammerhead", "device_type": "hammerhead",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -185,6 +189,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "walleye", "device_type": "walleye",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -219,6 +224,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "walleye", "device_type": "walleye",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -261,6 +267,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "redfin", "device_type": "redfin",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -295,6 +302,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "redfin", "device_type": "redfin",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -338,6 +346,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "MMB29Q", "device_os": "MMB29Q",
"device_type": "bullhead", "device_type": "bullhead",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -373,6 +382,7 @@
"android_devices": "1", "android_devices": "1",
"device_os": "MMB29Q", "device_os": "MMB29Q",
"device_type": "bullhead", "device_type": "bullhead",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -415,6 +425,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "walleye", "device_type": "walleye",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -449,6 +460,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "walleye", "device_type": "walleye",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -491,6 +503,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "redfin", "device_type": "redfin",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -525,6 +538,7 @@
{ {
"android_devices": "1", "android_devices": "1",
"device_type": "redfin", "device_type": "redfin",
"gce": "0",
"os": "Android", "os": "Android",
"pool": "WebRTC-perf" "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"
],
"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,
"idempotent": false,
"io_timeout": 10800,
"service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
},
"test_id_prefix": "ninja://:fuchsia_perf_tests/"
}
]
},
"Perf Linux Bionic": { "Perf Linux Bionic": {
"isolated_scripts": [ "isolated_scripts": [
{ {
@ -565,6 +617,7 @@
"can_use_on_swarming_builders": true, "can_use_on_swarming_builders": true,
"dimension_sets": [ "dimension_sets": [
{ {
"gce": "0",
"os": "Ubuntu-18.04", "os": "Ubuntu-18.04",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -599,6 +652,7 @@
"can_use_on_swarming_builders": true, "can_use_on_swarming_builders": true,
"dimension_sets": [ "dimension_sets": [
{ {
"gce": "0",
"os": "Ubuntu-18.04", "os": "Ubuntu-18.04",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -637,6 +691,7 @@
"dimension_sets": [ "dimension_sets": [
{ {
"cpu": "x86-64", "cpu": "x86-64",
"gce": "0",
"os": "Mac-11", "os": "Mac-11",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -672,6 +727,7 @@
"dimension_sets": [ "dimension_sets": [
{ {
"cpu": "x86-64", "cpu": "x86-64",
"gce": "0",
"os": "Mac-11", "os": "Mac-11",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -709,6 +765,7 @@
"dimension_sets": [ "dimension_sets": [
{ {
"cpu": "arm64-64-Apple_M1", "cpu": "arm64-64-Apple_M1",
"gce": "0",
"os": "Mac-12", "os": "Mac-12",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -746,6 +803,7 @@
"can_use_on_swarming_builders": true, "can_use_on_swarming_builders": true,
"dimension_sets": [ "dimension_sets": [
{ {
"gce": "0",
"os": "Windows-10", "os": "Windows-10",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }
@ -780,6 +838,7 @@
"can_use_on_swarming_builders": true, "can_use_on_swarming_builders": true,
"dimension_sets": [ "dimension_sets": [
{ {
"gce": "0",
"os": "Windows-10", "os": "Windows-10",
"pool": "WebRTC-perf" "pool": "WebRTC-perf"
} }

View File

@ -59,6 +59,10 @@
"label": "//sdk/android:android_instrumentation_test_apk", "label": "//sdk/android:android_instrumentation_test_apk",
"type": "console_test_launcher", "type": "console_test_launcher",
}, },
"fuchsia_perf_tests": {
"label": "//:fuchsia_perf_tests",
"type": "raw",
},
"low_bandwidth_audio_test": { "low_bandwidth_audio_test": {
"label": "//audio:low_bandwidth_audio_test", "label": "//audio:low_bandwidth_audio_test",
"type": "console_test_launcher", "type": "console_test_launcher",

View File

@ -192,6 +192,15 @@
'args': ['--out-dir', '${ISOLATED_OUTDIR}'] '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': { 'perf-low-bandwidth-audio-perf-test': {
'merge': { 'merge': {
'script': '//tools_webrtc/perf/process_perf_results.py', 'script': '//tools_webrtc/perf/process_perf_results.py',
@ -209,7 +218,17 @@
'swarming': { 'swarming': {
'idempotent': False, 'idempotent': False,
'dimensions': { 'dimensions': {
'pool': 'WebRTC-perf' 'pool': 'WebRTC-perf',
'gce': '0'
}
}
},
'perf-pool-vm': {
'swarming': {
'idempotent': False,
'dimensions': {
'pool': 'WebRTC-perf',
'gce': '1'
} }
} }
}, },

View File

@ -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': { 'perf-low-bandwidth-audio-perf-test': {
'merge': { 'merge': {
'script': '//tools_webrtc/perf/process_perf_results.py', 'script': '//tools_webrtc/perf/process_perf_results.py',
@ -157,6 +166,16 @@
'idempotent': False, 'idempotent': False,
'dimensions': { 'dimensions': {
'pool': 'WebRTC-perf', 'pool': 'WebRTC-perf',
'gce': '0',
},
},
},
'perf-pool-vm': {
'swarming': {
'idempotent': False,
'dimensions': {
'pool': 'WebRTC-perf',
'gce': '1',
}, },
}, },
}, },

View File

@ -116,6 +116,11 @@
'voip_unittests': {}, 'voip_unittests': {},
'webrtc_nonparallel_tests': {}, 'webrtc_nonparallel_tests': {},
}, },
'fuchsia_compatible_perf_tests': {
'fuchsia_perf_tests': {
'mixins': ['perf-fuchsia-perf-tests'],
},
},
'fuchsia_compatible_tests': { 'fuchsia_compatible_tests': {
'audio_decoder_unittests': {}, 'audio_decoder_unittests': {},
'common_audio_unittests': {}, 'common_audio_unittests': {},

View File

@ -334,13 +334,12 @@
'os_type': 'os_type':
'linux', 'linux',
'mixins': [ 'mixins': [
'linux-bionic', 'x86-64', 'perf-pool', 'timeout-3h', 'perf-output', 'linux-bionic', 'x86-64', 'perf-pool-vm', 'timeout-3h', 'perf-output',
'has_native_resultdb_integration', 'chromium-tester-service-account' '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': {
# 'test_suites': { 'isolated_scripts': 'fuchsia_compatible_perf_tests',
#  'isolated_scripts': 'desktop_perf_tests', }
# }
}, },
'Perf Linux Bionic': { 'Perf Linux Bionic': {
'os_type': 'os_type':