diff options
Diffstat (limited to 'tools')
19 files changed, 385 insertions, 165 deletions
diff --git a/tools/distrib/build_ruby_environment_macos.sh b/tools/distrib/build_ruby_environment_macos.sh index c2240ce976..fe0c5a4d70 100644 --- a/tools/distrib/build_ruby_environment_macos.sh +++ b/tools/distrib/build_ruby_environment_macos.sh @@ -21,9 +21,10 @@ CROSS_RUBY=`mktemp tmpfile.XXXXXXXX` curl https://raw.githubusercontent.com/rake-compiler/rake-compiler/v1.0.3/tasks/bin/cross-ruby.rake > $CROSS_RUBY +# See https://github.com/grpc/grpc/issues/12161 for verconf.h patch details patch $CROSS_RUBY << EOF ---- cross-ruby.rake 2016-02-05 16:26:53.000000000 -0800 -+++ cross-ruby.rake.patched 2016-02-05 16:27:33.000000000 -0800 +--- cross-ruby.rake 2017-09-27 16:46:00.311020325 +0200 ++++ patched 2017-09-27 16:49:46.127016895 +0200 @@ -133,7 +133,8 @@ "--host=#{MINGW_HOST}", "--target=#{MINGW_TARGET}", @@ -32,8 +33,16 @@ patch $CROSS_RUBY << EOF + '--enable-static', + '--disable-shared', '--disable-install-doc', - '--without-tk', - '--without-tcl' + '--with-ext=' + ] +@@ -151,6 +152,7 @@ + # make + file "#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/ruby.exe" => ["#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/Makefile"] do |t| + chdir File.dirname(t.prerequisites.first) do ++ sh "test -s verconf.h || rm -f verconf.h" # if verconf.h has size 0, make sure it gets re-built by make + sh MAKE + end + end EOF MAKE="make -j8" diff --git a/tools/distrib/python/grpcio_tools/grpc_version.py b/tools/distrib/python/grpcio_tools/grpc_version.py index a4178a58c1..db92b10c60 100644 --- a/tools/distrib/python/grpcio_tools/grpc_version.py +++ b/tools/distrib/python/grpcio_tools/grpc_version.py @@ -14,4 +14,4 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!! -VERSION='1.7.0.dev0' +VERSION='1.8.0.dev0' diff --git a/tools/dockerfile/test/multilang_jessie_x64/Dockerfile b/tools/dockerfile/test/multilang_jessie_x64/Dockerfile index 1a4b681576..8e29fcb88c 100644 --- a/tools/dockerfile/test/multilang_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/multilang_jessie_x64/Dockerfile @@ -71,6 +71,24 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \ RUN nuget update -self +# Install dotnet SDK based on https://www.microsoft.com/net/core#debian +RUN apt-get update && apt-get install -y curl libunwind8 gettext +# dotnet-dev-1.0.0-preview2-003131 +RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530 +RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet +# dotnet-dev-1.0.1 +RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453 +RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet +RUN ln -s /opt/dotnet/dotnet /usr/local/bin + +# Trigger the population of the local package cache +ENV NUGET_XMLDOC_MODE skip +RUN mkdir warmup \ + && cd warmup \ + && dotnet new \ + && cd .. \ + && rm -rf warmup + #================= # C++ dependencies RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index d81b7b4d11..eb27eed075 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.7.0-dev +PROJECT_NUMBER = 1.8.0-dev # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index cb8bb93c73..0f7e8cd3a8 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -40,7 +40,7 @@ PROJECT_NAME = "GRPC C++" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.7.0-dev +PROJECT_NUMBER = 1.8.0-dev # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index bec529f85e..dd98a12c65 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -27,6 +27,14 @@ ulimit -n 10000 # show current limits ulimit -a +# synchronize the clock +date +sudo systemsetup -setusingnetworktime off +sudo systemsetup -setnetworktimeserver "$( ipconfig getoption en0 server_identifier )" +sudo systemsetup -settimezone America/Los_Angeles +sudo systemsetup -setusingnetworktime on +date + # Add GCP credentials for BQ access pip install google-api-python-client --user python export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/GrpcTesting-d0eeee2db331.json @@ -51,7 +59,6 @@ export LANG=en_US.UTF-8 pod repo update # needed by python # python -brew install coreutils # we need grealpath pip install virtualenv --user python pip install -U six tox setuptools twisted pyyaml --user python export PYTHONPATH=/Library/Python/3.4/site-packages @@ -59,4 +66,7 @@ export PYTHONPATH=/Library/Python/3.4/site-packages # set xcode version for Obj-C tests sudo xcode-select -switch /Applications/Xcode_8.2.1.app/Contents/Developer +# TODO(jtattermusch): better debugging of clock skew, remove once not needed +date + git submodule update --init diff --git a/tools/internal_ci/linux/grpc_coverage.cfg b/tools/internal_ci/linux/grpc_coverage.cfg new file mode 100644 index 0000000000..56b7745b21 --- /dev/null +++ b/tools/internal_ci/linux/grpc_coverage.cfg @@ -0,0 +1,24 @@ +# 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_coverage.sh" +timeout_mins: 420 +action { + define_artifacts { + regex: "github/grpc/reports/**" + } +} diff --git a/tools/internal_ci/linux/grpc_coverage.sh b/tools/internal_ci/linux/grpc_coverage.sh new file mode 100755 index 0000000000..31623d2618 --- /dev/null +++ b/tools/internal_ci/linux/grpc_coverage.sh @@ -0,0 +1,30 @@ +#!/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_rc + +python tools/run_tests/run_tests.py \ + --use_docker \ + -t \ + -l all \ + -c gcov \ + -x report.xml \ + -j 16 +
\ No newline at end of file diff --git a/tools/internal_ci/linux/grpc_microbenchmark_diff.sh b/tools/internal_ci/linux/grpc_microbenchmark_diff.sh index 58ffcf336b..45add1b02d 100755 --- a/tools/internal_ci/linux/grpc_microbenchmark_diff.sh +++ b/tools/internal_ci/linux/grpc_microbenchmark_diff.sh @@ -25,6 +25,8 @@ cd $(dirname $0)/../../.. source tools/internal_ci/helper_scripts/prepare_build_linux_perf_rc tools/run_tests/start_port_server.py +tools/jenkins/run_c_cpp_test.sh tools/profiling/bloat/bloat_diff.py \ + -d origin/$ghprbTargetBranch || FAILED="true" tools/jenkins/run_c_cpp_test.sh tools/profiling/microbenchmarks/bm_diff/bm_main.py \ -d origin/$ghprbTargetBranch \ -b $BENCHMARKS_TO_RUN || FAILED="true" diff --git a/tools/internal_ci/macos/grpc_build_artifacts.sh b/tools/internal_ci/macos/grpc_build_artifacts.sh index 09784e3bb4..eb4568c32b 100755 --- a/tools/internal_ci/macos/grpc_build_artifacts.sh +++ b/tools/internal_ci/macos/grpc_build_artifacts.sh @@ -27,8 +27,7 @@ python3.5 -m pip install cython setuptools wheel python3.6 -m pip install cython setuptools wheel # needed to build ruby artifacts -wget https://raw.githubusercontent.com/grpc/grpc/master/tools/distrib/build_ruby_environment_macos.sh -bash build_ruby_environment_macos.sh +time bash tools/distrib/build_ruby_environment_macos.sh gem install rubygems-update update_rubygems diff --git a/tools/internal_ci/macos/grpc_run_tests_matrix.sh b/tools/internal_ci/macos/grpc_run_tests_matrix.sh index 8e7fd54a62..6e0c2bb487 100755 --- a/tools/internal_ci/macos/grpc_run_tests_matrix.sh +++ b/tools/internal_ci/macos/grpc_run_tests_matrix.sh @@ -28,6 +28,9 @@ ps aux | grep port_server\\.py | awk '{print $2}' | xargs kill -9 # Reveal leftover processes that might be left behind by the build ps aux | grep -i kbuilder +# TODO(jtattermusch): better debugging of clock skew, remove once not needed +date + echo 'Exiting gRPC main test script.' if [ "$FAILED" != "" ] diff --git a/tools/jenkins/run_full_performance.sh b/tools/jenkins/run_full_performance.sh index a9661c7e26..9598fd7734 100755 --- a/tools/jenkins/run_full_performance.sh +++ b/tools/jenkins/run_full_performance.sh @@ -21,7 +21,7 @@ cd $(dirname $0)/../.. # run 8core client vs 8core server tools/run_tests/run_performance_tests.py \ - -l c++ csharp node ruby java python go node_express php \ + -l c++ csharp node ruby java python go node_express php_protobuf_php php_protobuf_c \ --netperf \ --category scalable \ --bq_result_table performance_test.performance_experiment \ diff --git a/tools/profiling/bloat/bloat_diff.py b/tools/profiling/bloat/bloat_diff.py new file mode 100755 index 0000000000..9b40685e90 --- /dev/null +++ b/tools/profiling/bloat/bloat_diff.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python2.7 +# +# 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. + +import argparse +import glob +import multiprocessing +import os +import shutil +import subprocess +import sys + +sys.path.append( + os.path.join( + os.path.dirname(sys.argv[0]), '..', '..', 'run_tests', 'python_utils')) +import comment_on_pr + +argp = argparse.ArgumentParser( + description='Perform diff on microbenchmarks') + +argp.add_argument( + '-d', + '--diff_base', + type=str, + help='Commit or branch to compare the current one to') + +argp.add_argument( + '-j', + '--jobs', + type=int, + default=multiprocessing.cpu_count()) + +args = argp.parse_args() + +LIBS = [ + 'libgrpc.so', + 'libgrpc++.so', +] + +def build(where): + subprocess.check_call('make -j%d' % args.jobs, + shell=True, cwd='.') + shutil.rmtree('bloat_diff_%s' % where, ignore_errors=True) + os.rename('libs', 'bloat_diff_%s' % where) + +build('new') + +if args.diff_base: + old = 'old' + where_am_i = subprocess.check_output( + ['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip() + subprocess.check_call(['git', 'checkout', args.diff_base]) + subprocess.check_call(['git', 'submodule', 'update']) + try: + try: + build('old') + except subprocess.CalledProcessError, e: + subprocess.check_call(['make', 'clean']) + build('old') + finally: + subprocess.check_call(['git', 'checkout', where_am_i]) + subprocess.check_call(['git', 'submodule', 'update']) + +subprocess.check_call('make -j%d' % args.jobs, + shell=True, cwd='third_party/bloaty') + +text = '' +for lib in LIBS: + text += '****************************************************************\n\n' + text += lib + '\n\n' + old_version = glob.glob('bloat_diff_old/opt/%s' % lib) + new_version = glob.glob('bloat_diff_new/opt/%s' % lib) + assert len(new_version) == 1 + cmd = 'third_party/bloaty/bloaty -d compileunits,symbols' + if old_version: + assert len(old_version) == 1 + text += subprocess.check_output('%s %s -- %s' % + (cmd, new_version[0], old_version[0]), + shell=True) + else: + text += subprocess.check_output('%s %s' % + (cmd, new_version[0]), + shell=True) + text += '\n\n' + +print text +comment_on_pr.comment_on_pr('```\n%s\n```' % text) diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index ff1d47cf89..83418423a2 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -49542,7 +49542,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_1channel_100rpcs_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49567,7 +49567,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_1channel_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49592,7 +49592,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49617,7 +49617,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49642,7 +49642,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49667,7 +49667,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49692,7 +49692,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49717,7 +49717,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49742,7 +49742,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49767,7 +49767,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49792,7 +49792,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49817,7 +49817,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49844,7 +49844,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49869,7 +49869,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49896,7 +49896,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49921,7 +49921,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49946,7 +49946,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49971,7 +49971,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -49996,7 +49996,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50021,7 +50021,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50046,7 +50046,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50071,7 +50071,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50096,7 +50096,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50121,7 +50121,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50146,7 +50146,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50171,7 +50171,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50196,7 +50196,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50221,7 +50221,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50246,7 +50246,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50271,7 +50271,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50296,7 +50296,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50321,7 +50321,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50346,7 +50346,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50371,7 +50371,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50396,7 +50396,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50421,7 +50421,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_secure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50446,7 +50446,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50471,7 +50471,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50496,7 +50496,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50521,7 +50521,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50546,7 +50546,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50571,7 +50571,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50596,7 +50596,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50621,7 +50621,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50646,7 +50646,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50671,7 +50671,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50698,7 +50698,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50723,7 +50723,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50750,7 +50750,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50775,7 +50775,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1MB", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50800,7 +50800,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50825,7 +50825,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50850,7 +50850,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50875,7 +50875,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50900,7 +50900,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50925,7 +50925,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50950,7 +50950,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -50975,7 +50975,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51000,7 +51000,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51025,7 +51025,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51050,7 +51050,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51075,7 +51075,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51100,7 +51100,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51125,7 +51125,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51150,7 +51150,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51175,7 +51175,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51200,7 +51200,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51225,7 +51225,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51250,7 +51250,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51275,7 +51275,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_insecure", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51313,7 +51313,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_1channel_100rpcs_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51351,7 +51351,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_1channel_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51389,7 +51389,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51427,7 +51427,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51465,7 +51465,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51503,7 +51503,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51541,7 +51541,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51579,7 +51579,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51617,7 +51617,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51655,7 +51655,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51693,7 +51693,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51731,7 +51731,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51771,7 +51771,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51809,7 +51809,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51849,7 +51849,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51887,7 +51887,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51925,7 +51925,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -51963,7 +51963,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52001,7 +52001,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52039,7 +52039,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52077,7 +52077,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52115,7 +52115,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52153,7 +52153,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52191,7 +52191,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52229,7 +52229,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52267,7 +52267,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52305,7 +52305,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52343,7 +52343,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52381,7 +52381,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52419,7 +52419,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52457,7 +52457,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52495,7 +52495,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52533,7 +52533,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52571,7 +52571,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52609,7 +52609,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52647,7 +52647,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_secure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52685,7 +52685,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52723,7 +52723,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52761,7 +52761,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52799,7 +52799,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52837,7 +52837,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_1channel_1MBmsg_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52875,7 +52875,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_64KBmsg_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52913,7 +52913,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52951,7 +52951,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -52989,7 +52989,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_2waysharedcq_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53027,7 +53027,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53067,7 +53067,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53105,7 +53105,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_unary_1channel_64wide_128Breq_8MBresp_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53145,7 +53145,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53183,7 +53183,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1MB_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53221,7 +53221,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53259,7 +53259,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53297,7 +53297,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53335,7 +53335,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53373,7 +53373,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53411,7 +53411,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53449,7 +53449,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53487,7 +53487,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53525,7 +53525,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53563,7 +53563,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53601,7 +53601,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_1mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53639,7 +53639,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_10mps_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53677,7 +53677,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53715,7 +53715,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_client_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53753,7 +53753,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53791,7 +53791,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_client_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53829,7 +53829,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53867,7 +53867,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_sync_streaming_from_server_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53905,7 +53905,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_ping_pong_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ @@ -53943,7 +53943,7 @@ "linux" ], "shortname": "json_run_localhost:cpp_protobuf_async_streaming_from_server_qps_unconstrained_insecure_low_thread_count", - "timeout_seconds": 360 + "timeout_seconds": 120 }, { "args": [ diff --git a/tools/run_tests/performance/run_worker_php.sh b/tools/run_tests/performance/run_worker_php.sh index 5d0c4fa4fd..e524d5286d 100755 --- a/tools/run_tests/performance/run_worker_php.sh +++ b/tools/run_tests/performance/run_worker_php.sh @@ -16,13 +16,18 @@ source ~/.rvm/scripts/rvm set -ex -repo=$(dirname $0)/../../.. - +cd $(dirname $0)/../../.. +repo=$(pwd) # First set up all dependences needed for PHP QPS test cd $repo cd src/php/tests/qps composer install +# Install protobuf C-extension for php +cd vendor/google/protobuf/php/ext/google/protobuf +phpize +./configure +make # The proxy worker for PHP is implemented in Ruby -cd ../../../.. +cd $repo ruby src/ruby/qps/proxy-worker.rb $@ diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py index 5efc9f5648..5019358ab3 100644 --- a/tools/run_tests/performance/scenario_config.py +++ b/tools/run_tests/performance/scenario_config.py @@ -802,25 +802,32 @@ class RubyLanguage: class PhpLanguage: - def __init__(self): + def __init__(self, use_protobuf_c_extension=False): pass + self.use_protobuf_c_extension=use_protobuf_c_extension self.safename = str(self) def worker_cmdline(self): + if self.use_protobuf_c_extension: + return ['tools/run_tests/performance/run_worker_php.sh -c'] return ['tools/run_tests/performance/run_worker_php.sh'] def worker_port_offset(self): return 800 def scenarios(self): + php_extension_mode='php_protobuf_php_extension' + if self.use_protobuf_c_extension: + php_extension_mode='php_protobuf_c_extension' + yield _ping_pong_scenario( - 'php_to_cpp_protobuf_sync_unary_ping_pong', rpc_type='UNARY', - client_type='SYNC_CLIENT', server_type='SYNC_SERVER', + '%s_to_cpp_protobuf_sync_unary_ping_pong' % php_extension_mode, + rpc_type='UNARY', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) yield _ping_pong_scenario( - 'php_to_cpp_protobuf_sync_streaming_ping_pong', rpc_type='STREAMING', - client_type='SYNC_CLIENT', server_type='SYNC_SERVER', + '%s_to_cpp_protobuf_sync_streaming_ping_pong' % php_extension_mode, + rpc_type='STREAMING', client_type='SYNC_CLIENT', server_type='SYNC_SERVER', server_language='c++', async_server_threads=1) def __str__(self): @@ -1024,7 +1031,8 @@ LANGUAGES = { 'node' : NodeLanguage(), 'node_express': NodeExpressLanguage(), 'ruby' : RubyLanguage(), - 'php' : PhpLanguage(), + 'php_protobuf_php' : PhpLanguage(), + 'php_protobuf_c' : PhpLanguage(use_protobuf_c_extension=True), 'java' : JavaLanguage(), 'python' : PythonLanguage(), 'go' : GoLanguage(), diff --git a/tools/run_tests/python_utils/jobset.py b/tools/run_tests/python_utils/jobset.py index 062c79a0de..82a3bc1435 100755 --- a/tools/run_tests/python_utils/jobset.py +++ b/tools/run_tests/python_utils/jobset.py @@ -364,7 +364,7 @@ class Job(object): class Jobset(object): """Manages one run of jobs.""" - def __init__(self, check_cancelled, maxjobs, newline_on_success, travis, + def __init__(self, check_cancelled, maxjobs, maxjobs_cpu_agnostic, newline_on_success, travis, stop_on_failure, add_env, quiet_success, max_time): self._running = set() self._check_cancelled = check_cancelled @@ -372,6 +372,7 @@ class Jobset(object): self._failures = 0 self._completed = 0 self._maxjobs = maxjobs + self._maxjobs_cpu_agnostic = maxjobs_cpu_agnostic self._newline_on_success = newline_on_success self._travis = travis self._stop_on_failure = stop_on_failure @@ -406,7 +407,9 @@ class Jobset(object): if self.cancelled(): return False current_cpu_cost = self.cpu_cost() if current_cpu_cost == 0: break - if current_cpu_cost + spec.cpu_cost <= self._maxjobs: break + if current_cpu_cost + spec.cpu_cost <= self._maxjobs: + if len(self._running) < self._maxjobs_cpu_agnostic: + break self.reap() if self.cancelled(): return False job = Job(spec, @@ -491,6 +494,7 @@ def tag_remaining(xs): def run(cmdlines, check_cancelled=_never_cancelled, maxjobs=None, + maxjobs_cpu_agnostic=None, newline_on_success=False, travis=False, infinite_runs=False, @@ -509,6 +513,7 @@ def run(cmdlines, return 0, resultset js = Jobset(check_cancelled, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, + maxjobs_cpu_agnostic if maxjobs_cpu_agnostic is not None else _DEFAULT_MAX_JOBS, newline_on_success, travis, stop_on_failure, add_env, quiet_success, max_time) for cmdline, remaining in tag_remaining(cmdlines): diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 5750b90619..7c65067857 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -117,6 +117,13 @@ def run_shell_command(cmd, env=None, cwd=None): e.cmd, e.returncode, e.output) raise +def max_parallel_tests_for_current_platform(): + # Too much test parallelization has only been seen to be a problem + # so far on windows. + if jobset.platform_string() == 'windows': + return 64 + return 128 + # SimpleConfig: just compile with CONFIG=config, and run the binary to test class Config(object): @@ -701,7 +708,7 @@ class PythonLanguage(object): return [config.build for config in self.pythons] def post_tests_steps(self): - if self.config != 'gcov': + if self.config.build_config != 'gcov': return [] else: return [['tools/run_tests/helper_scripts/post_tests_python.sh']] @@ -1621,7 +1628,7 @@ def _build_and_run( jobset.message('START', 'Running tests quietly, only failing tests will be reported', do_newline=True) num_test_failures, resultset = jobset.run( all_runs, check_cancelled, newline_on_success=newline_on_success, - travis=args.travis, maxjobs=args.jobs, + travis=args.travis, maxjobs=args.jobs, maxjobs_cpu_agnostic=max_parallel_tests_for_current_platform(), stop_on_failure=args.stop_on_failure, quiet_success=args.quiet_success, max_time=args.max_time) if resultset: @@ -1644,7 +1651,7 @@ def _build_and_run( suite_name=args.report_suite_name) number_failures, _ = jobset.run( - post_tests_steps, maxjobs=1, stop_on_failure=True, + post_tests_steps, maxjobs=1, stop_on_failure=False, newline_on_success=newline_on_success, travis=args.travis) out = [] diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 7c934b1ba7..97324f0a3a 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -34,6 +34,7 @@ cat << EOF | awk '{ print $1 }' | sort > $want_submodules 80a37e0782d2d702d52234b62dd4b9ec74fd2c95 third_party/protobuf (v3.4.0) cacf7f1d4e3d44d871b605da3b647f07d718623f third_party/zlib (v1.2.11) 3be1924221e1326df520f8498d704a5c4c8d0cce third_party/cares/cares (cares-1_13_0) + 73594cde8c9a52a102c4341c244c833aa61b9c06 third_party/bloaty EOF diff -u $submodules $want_submodules |