From b75db422bdca7a15a10372d660448cb7e15be5ca Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Mon, 9 Oct 2017 17:53:05 -0700 Subject: Add multi-vm performance tests to Kokoro --- .../linux/grpc_full_performance_master.cfg | 25 +++++++++ .../linux/grpc_full_performance_master.sh | 59 ++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 tools/internal_ci/linux/grpc_full_performance_master.cfg create mode 100755 tools/internal_ci/linux/grpc_full_performance_master.sh (limited to 'tools/internal_ci/linux') diff --git a/tools/internal_ci/linux/grpc_full_performance_master.cfg b/tools/internal_ci/linux/grpc_full_performance_master.cfg new file mode 100644 index 0000000000..8852130a13 --- /dev/null +++ b/tools/internal_ci/linux/grpc_full_performance_master.cfg @@ -0,0 +1,25 @@ +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Config file for the internal CI (in protobuf text format) + +# Location of the continuous shell script in repository. +build_file: "grpc/tools/internal_ci/linux/grpc_full_performance_master.sh" +timeout_mins: 600 +action { + define_artifacts { + regex: "**/*sponge_log.xml" + regex: "**/perf_reports/**" + } +} diff --git a/tools/internal_ci/linux/grpc_full_performance_master.sh b/tools/internal_ci/linux/grpc_full_performance_master.sh new file mode 100755 index 0000000000..2ba23cbd00 --- /dev/null +++ b/tools/internal_ci/linux/grpc_full_performance_master.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +set -ex + +# Enter the gRPC repo root +cd $(dirname $0)/../../.. + +source tools/internal_ci/helper_scripts/prepare_build_linux_perf_multilang_rc + +# run 8core client vs 8core server +tools/run_tests/run_performance_tests.py \ + -l c++ csharp ruby java python go php7 php7_protobuf_c \ + --netperf \ + --category scalable \ + --remote_worker_host grpc-kokoro-performance-server-8core grpc-kokoro-performance-client-8core grpc-kokoro-performance-client2-8core \ + -u kbuilder \ + --bq_result_table performance_test.kokoro_performance_experiment \ + --xml_report reports/8core/sponge_log.xml \ + || EXIT_CODE=1 + +# prevent pushing leftover build files to remote hosts in the next step. +git clean -fdxq --exclude=\!sponge_log.xml + +# scalability with 32cores (and upload to a different BQ table) +tools/run_tests/run_performance_tests.py \ + -l c++ java csharp go \ + --netperf \ + --category scalable \ + --remote_worker_host grpc-kokoro-performance-server-32core grpc-kokoro-performance-client-32core grpc-kokoro-performance-client2-32core \ + -u kbuilder \ + --bq_result_table performance_test.kokoro_performance_experiment_32core \ + --xml_report reports/32core/sponge_log.xml \ + || EXIT_CODE=1 + +# prevent pushing leftover build files to remote hosts in the next step. +git clean -fdxq --exclude=\!sponge_log.xml + +# selected scenarios on Windows +tools/run_tests/run_performance_tests.py \ + -l csharp \ + --category scalable \ + --remote_worker_host grpc-kokoro-performance-windows1 grpc-kokoro-performance-windows2 \ + --bq_result_table performance_test.kokoro_performance_experiment_windows \ + --xml_report reports/windows/sponge_log.xml \ + || EXIT_CODE=1 + +exit $EXIT_CODE -- cgit v1.2.3 From a6bdf450fdedf470dbe0e7bbdd9dc49ffbe37aab Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Thu, 30 Nov 2017 14:49:26 -0800 Subject: Properly preserve sponge_log.xml between performance tests --- tools/internal_ci/linux/grpc_full_performance_master.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools/internal_ci/linux') diff --git a/tools/internal_ci/linux/grpc_full_performance_master.sh b/tools/internal_ci/linux/grpc_full_performance_master.sh index 2ba23cbd00..18468395f6 100755 --- a/tools/internal_ci/linux/grpc_full_performance_master.sh +++ b/tools/internal_ci/linux/grpc_full_performance_master.sh @@ -31,7 +31,7 @@ tools/run_tests/run_performance_tests.py \ || EXIT_CODE=1 # prevent pushing leftover build files to remote hosts in the next step. -git clean -fdxq --exclude=\!sponge_log.xml +git clean -fdxq -e reports # scalability with 32cores (and upload to a different BQ table) tools/run_tests/run_performance_tests.py \ @@ -45,7 +45,7 @@ tools/run_tests/run_performance_tests.py \ || EXIT_CODE=1 # prevent pushing leftover build files to remote hosts in the next step. -git clean -fdxq --exclude=\!sponge_log.xml +git clean -fdxq -e reports # selected scenarios on Windows tools/run_tests/run_performance_tests.py \ -- cgit v1.2.3