1#!/usr/bin/env bash
2# Copyright 2017 gRPC authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#     http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15set -ex
16
17# Enter the gRPC repo root
18cd $(dirname $0)/../../..
19
20source tools/internal_ci/helper_scripts/prepare_build_linux_perf_multilang_rc
21
22# run 8core client vs 8core server
23tools/run_tests/run_performance_tests.py \
24    -l c++ csharp ruby java python python_asyncio go php7 php7_protobuf_c node \
25    --netperf \
26    --category scalable \
27    --remote_worker_host grpc-kokoro-performance-server-8core grpc-kokoro-performance-client-8core grpc-kokoro-performance-client2-8core \
28    -u kbuilder \
29    --bq_result_table performance_test.performance_experiment \
30    --xml_report run_performance_tests/8core/sponge_log.xml \
31    || EXIT_CODE=1
32
33# prevent pushing leftover build files to remote hosts in the next step.
34git clean -fdxq -e reports -e run_performance_tests
35
36# scalability with 32cores (and upload to a different BQ table)
37tools/run_tests/run_performance_tests.py \
38    -l c++ java csharp go \
39    --netperf \
40    --category scalable \
41    --remote_worker_host grpc-kokoro-performance-server-32core grpc-kokoro-performance-client-32core grpc-kokoro-performance-client2-32core \
42    -u kbuilder \
43    --bq_result_table performance_test.performance_experiment_32core \
44    --xml_report run_performance_tests/32core/sponge_log.xml \
45    || EXIT_CODE=1
46
47# prevent pushing leftover build files to remote hosts in the next step.
48git clean -fdxq -e reports -e run_performance_tests
49
50exit $EXIT_CODE
51