aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/codegen/core/gen_header_frame.py7
-rwxr-xr-xtools/codegen/core/gen_nano_proto.sh6
-rwxr-xr-xtools/distrib/check_include_guards.py2
-rwxr-xr-xtools/distrib/check_nanopb_output.sh6
-rw-r--r--tools/distrib/python/grpcio_tools/MANIFEST.in2
-rw-r--r--tools/distrib/python/grpcio_tools/README.rst128
-rw-r--r--tools/distrib/python/grpcio_tools/grpc/tools/__init__.py (renamed from tools/distrib/python/grpcio_tools/grpc/protoc/__init__.py)0
-rw-r--r--tools/distrib/python/grpcio_tools/grpc/tools/main.cc (renamed from tools/distrib/python/grpcio_tools/grpc/protoc/main.cc)2
-rw-r--r--tools/distrib/python/grpcio_tools/grpc/tools/main.h (renamed from tools/distrib/python/grpcio_tools/grpc/protoc/main.h)0
-rw-r--r--tools/distrib/python/grpcio_tools/grpc/tools/protoc.py (renamed from tools/distrib/python/grpcio_tools/grpc/protoc/compiler.py)2
-rw-r--r--tools/distrib/python/grpcio_tools/grpc/tools/protoc_compiler.pyx (renamed from tools/distrib/python/grpcio_tools/grpc/protoc/protoc_compiler.pyx)2
-rw-r--r--tools/distrib/python/grpcio_tools/setup.py22
-rw-r--r--tools/dockerfile/grpc_clang_format/Dockerfile4
-rw-r--r--tools/doxygen/Doxyfile.core1
-rw-r--r--tools/doxygen/Doxyfile.core.internal44
-rwxr-xr-xtools/gce/create_linux_performance_worker.sh5
-rwxr-xr-xtools/gce/create_linux_worker.sh2
-rwxr-xr-xtools/gce/linux_performance_worker_init.sh4
-rwxr-xr-xtools/gce/linux_worker_init.sh2
-rw-r--r--tools/run_tests/artifact_targets.py32
-rw-r--r--tools/run_tests/build_artifact_node.bat6
-rwxr-xr-xtools/run_tests/build_artifact_node.sh2
-rw-r--r--tools/run_tests/build_artifact_python.bat22
-rwxr-xr-xtools/run_tests/build_artifact_python.sh6
-rw-r--r--tools/run_tests/performance/scenario_config.py854
-rwxr-xr-xtools/run_tests/run_performance_tests.py50
-rw-r--r--tools/run_tests/sources_and_headers.json147
-rw-r--r--tools/run_tests/tests.json249
28 files changed, 797 insertions, 812 deletions
diff --git a/tools/codegen/core/gen_header_frame.py b/tools/codegen/core/gen_header_frame.py
index 96e6c67fa6..ee476267f2 100755
--- a/tools/codegen/core/gen_header_frame.py
+++ b/tools/codegen/core/gen_header_frame.py
@@ -38,6 +38,8 @@
import json
import sys
+set_end_stream = len(sys.argv) > 1 and sys.argv[1] == '--set_end_stream'
+
# parse input, fill in vals
vals = []
for line in sys.stdin:
@@ -65,6 +67,9 @@ for key, value in vals:
payload_bytes.append(payload_line)
# fill in header
+flags = 0x04 # END_HEADERS
+if set_end_stream:
+ flags |= 0x01 # END_STREAM
payload_bytes[0].extend([
(payload_len >> 16) & 0xff,
(payload_len >> 8) & 0xff,
@@ -72,7 +77,7 @@ payload_bytes[0].extend([
# header frame
0x01,
# flags
- 0x04,
+ flags,
# stream id
0x00,
0x00,
diff --git a/tools/codegen/core/gen_nano_proto.sh b/tools/codegen/core/gen_nano_proto.sh
index e2d2f672e9..b216a20379 100755
--- a/tools/codegen/core/gen_nano_proto.sh
+++ b/tools/codegen/core/gen_nano_proto.sh
@@ -29,11 +29,11 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
# Example usage:
# tools/codegen/core/gen_nano_proto.sh \
-# src/proto/grpc/lb/v0/load_balancer.proto
-# $PWD/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
+# src/proto/grpc/lb/v1/load_balancer.proto \
+# $PWD/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1 \
+# src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1
#
# Exit statuses:
# 1: Incorrect number of arguments
diff --git a/tools/distrib/check_include_guards.py b/tools/distrib/check_include_guards.py
index 6c160c64b6..8207f5cce0 100755
--- a/tools/distrib/check_include_guards.py
+++ b/tools/distrib/check_include_guards.py
@@ -170,7 +170,7 @@ argp.add_argument('--precommit',
args = argp.parse_args()
KNOWN_BAD = set([
- 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h',
+ 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h',
])
diff --git a/tools/distrib/check_nanopb_output.sh b/tools/distrib/check_nanopb_output.sh
index 92cb8ecbb4..c0707051a6 100755
--- a/tools/distrib/check_nanopb_output.sh
+++ b/tools/distrib/check_nanopb_output.sh
@@ -58,15 +58,15 @@ popd
#
# Checks for load_balancer.proto
#
-readonly LOAD_BALANCER_GRPC_OUTPUT_PATH='src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0'
+readonly LOAD_BALANCER_GRPC_OUTPUT_PATH='src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1'
# nanopb-compile the proto to a temp location
./tools/codegen/core/gen_nano_proto.sh \
- src/proto/grpc/lb/v0/load_balancer.proto \
+ src/proto/grpc/lb/v1/load_balancer.proto \
"$NANOPB_TMP_OUTPUT" \
"$LOAD_BALANCER_GRPC_OUTPUT_PATH"
# compare outputs to checked compiled code
-if ! diff -r $NANOPB_TMP_OUTPUT src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0; then
+if ! diff -r $NANOPB_TMP_OUTPUT src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1; then
echo "Outputs differ: $NANOPB_TMP_OUTPUT vs $LOAD_BALANCER_GRPC_OUTPUT_PATH"
exit 2
fi
diff --git a/tools/distrib/python/grpcio_tools/MANIFEST.in b/tools/distrib/python/grpcio_tools/MANIFEST.in
index e6ab312f09..7712834d64 100644
--- a/tools/distrib/python/grpcio_tools/MANIFEST.in
+++ b/tools/distrib/python/grpcio_tools/MANIFEST.in
@@ -1,5 +1,7 @@
+include grpc_version.py
include protoc_deps.py
include protoc_lib_deps.py
+include README.rst
graft grpc
graft grpc_root
graft third_party
diff --git a/tools/distrib/python/grpcio_tools/README.rst b/tools/distrib/python/grpcio_tools/README.rst
new file mode 100644
index 0000000000..10d2fe8c30
--- /dev/null
+++ b/tools/distrib/python/grpcio_tools/README.rst
@@ -0,0 +1,128 @@
+gRPC Python Tools
+=================
+
+Package for gRPC Python tools.
+
+Installation
+------------
+
+The gRPC Python tools package is available for Linux, Mac OS X, and Windows
+running Python 2.7.
+
+From PyPI
+~~~~~~~~~
+
+If you are installing locally...
+
+::
+
+ $ pip install grpcio-tools
+
+Else system wide (on Ubuntu)...
+
+::
+
+ $ sudo pip install grpcio-tools
+
+If you're on Windows make sure that you installed the :code:`pip.exe` component
+when you installed Python (if not go back and install it!) then invoke:
+
+::
+
+ $ pip.exe install grpcio-tools
+
+Windows users may need to invoke :code:`pip.exe` from a command line ran as
+administrator.
+
+n.b. On Windows and on Mac OS X one *must* have a recent release of :code:`pip`
+to retrieve the proper wheel from PyPI. Be sure to upgrade to the latest
+version!
+
+You might also need to install Cython to handle installation via the source
+distribution if gRPC Python's system coverage with wheels does not happen to
+include your system.
+
+From Source
+~~~~~~~~~~~
+
+Building from source requires that you have the Python headers (usually a
+package named :code:`python-dev`) and Cython installed. It further requires a
+GCC-like compiler to go smoothly; you can probably get it to work without
+GCC-like stuff, but you may end up having a bad time.
+
+::
+
+ $ export REPO_ROOT=grpc # REPO_ROOT can be any directory of your choice
+ $ git clone https://github.com/grpc/grpc.git $REPO_ROOT
+ $ cd $REPO_ROOT
+ $ git submodule update --init
+
+ $ cd tools/distrib/python/grpcio_tools
+ $ python ../make_grpcio_tools.py
+
+ # For the next command do `sudo pip install` if you get permission-denied errors
+ $ pip install .
+
+You cannot currently install Python from source on Windows. Things might work
+out for you in MSYS2 (follow the Linux instructions), but it isn't officially
+supported at the moment.
+
+Troubleshooting
+~~~~~~~~~~~~~~~
+
+Help, I ...
+
+* **... see a** :code:`pkg_resources.VersionConflict` **when I try to install
+ grpc**
+
+ This is likely because :code:`pip` doesn't own the offending dependency,
+ which in turn is likely because your operating system's package manager owns
+ it. You'll need to force the installation of the dependency:
+
+ :code:`pip install --ignore-installed $OFFENDING_DEPENDENCY`
+
+ For example, if you get an error like the following:
+
+ ::
+
+ Traceback (most recent call last):
+ File "<string>", line 17, in <module>
+ ...
+ File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 509, in find
+ raise VersionConflict(dist, req)
+ pkg_resources.VersionConflict: (six 1.8.0 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.10'))
+
+ You can fix it by doing:
+
+ ::
+
+ sudo pip install --ignore-installed six
+
+* **... see compiler errors on some platforms when either installing from source or from the source distribution**
+
+ If you see
+
+ ::
+
+ /tmp/pip-build-U8pSsr/cython/Cython/Plex/Scanners.c:4:20: fatal error: Python.h: No such file or directory
+ #include "Python.h"
+ ^
+ compilation terminated.
+
+ You can fix it by installing `python-dev` package. i.e
+
+ ::
+
+ sudo apt-get install python-dev
+
+ If you see something similar to:
+
+ ::
+
+ third_party/protobuf/src/google/protobuf/stubs/mathlimits.h:173:31: note: in expansion of macro 'SIGNED_INT_MAX'
+ static const Type kPosMax = SIGNED_INT_MAX(Type); \\
+ ^
+ And your toolchain is GCC (at the time of this writing, up through at least
+ GCC 6.0), this is probably a bug where GCC chokes on constant expressions
+ when the :code:`-fwrapv` flag is specified. You should consider setting your
+ environment with :code:`CFLAGS=-fno-wrapv` or using clang (:code:`CC=clang`).
diff --git a/tools/distrib/python/grpcio_tools/grpc/protoc/__init__.py b/tools/distrib/python/grpcio_tools/grpc/tools/__init__.py
index d5ad73a74a..d5ad73a74a 100644
--- a/tools/distrib/python/grpcio_tools/grpc/protoc/__init__.py
+++ b/tools/distrib/python/grpcio_tools/grpc/tools/__init__.py
diff --git a/tools/distrib/python/grpcio_tools/grpc/protoc/main.cc b/tools/distrib/python/grpcio_tools/grpc/tools/main.cc
index c9936a3a6b..81675b4e6f 100644
--- a/tools/distrib/python/grpcio_tools/grpc/protoc/main.cc
+++ b/tools/distrib/python/grpcio_tools/grpc/tools/main.cc
@@ -32,7 +32,7 @@
#include "src/compiler/python_generator.h"
-#include "grpc/protoc/main.h"
+#include "grpc/tools/main.h"
int protoc_main(int argc, char* argv[]) {
google::protobuf::compiler::CommandLineInterface cli;
diff --git a/tools/distrib/python/grpcio_tools/grpc/protoc/main.h b/tools/distrib/python/grpcio_tools/grpc/tools/main.h
index ea2860ff02..ea2860ff02 100644
--- a/tools/distrib/python/grpcio_tools/grpc/protoc/main.h
+++ b/tools/distrib/python/grpcio_tools/grpc/tools/main.h
diff --git a/tools/distrib/python/grpcio_tools/grpc/protoc/compiler.py b/tools/distrib/python/grpcio_tools/grpc/tools/protoc.py
index caafc544b2..b4dd0ecae2 100644
--- a/tools/distrib/python/grpcio_tools/grpc/protoc/compiler.py
+++ b/tools/distrib/python/grpcio_tools/grpc/tools/protoc.py
@@ -31,7 +31,7 @@
import sys
-from grpc.protoc import protoc_compiler
+from grpc.tools import protoc_compiler
if __name__ == '__main__':
diff --git a/tools/distrib/python/grpcio_tools/grpc/protoc/protoc_compiler.pyx b/tools/distrib/python/grpcio_tools/grpc/tools/protoc_compiler.pyx
index af15f3db30..a6530127c0 100644
--- a/tools/distrib/python/grpcio_tools/grpc/protoc/protoc_compiler.pyx
+++ b/tools/distrib/python/grpcio_tools/grpc/tools/protoc_compiler.pyx
@@ -29,7 +29,7 @@
from libc cimport stdlib
-cdef extern from "grpc/protoc/main.h":
+cdef extern from "grpc/tools/main.h":
int protoc_main(int argc, char *argv[])
def run_main(list args not None):
diff --git a/tools/distrib/python/grpcio_tools/setup.py b/tools/distrib/python/grpcio_tools/setup.py
index 0281c01796..576f7ae32a 100644
--- a/tools/distrib/python/grpcio_tools/setup.py
+++ b/tools/distrib/python/grpcio_tools/setup.py
@@ -30,6 +30,7 @@
from distutils import extension
import os
import os.path
+import shlex
import sys
import setuptools
@@ -40,18 +41,28 @@ from setuptools.command import build_ext
os.chdir(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.abspath('.'))
+# There are some situations (like on Windows) where CC, CFLAGS, and LDFLAGS are
+# entirely ignored/dropped/forgotten by distutils and its Cygwin/MinGW support.
+# We use these environment variables to thus get around that without locking
+# ourselves in w.r.t. the multitude of operating systems this ought to build on.
+# By default we assume a GCC-like compiler.
+EXTRA_COMPILE_ARGS = shlex.split(os.environ.get('GRPC_PYTHON_CFLAGS',
+ '-frtti -std=c++11'))
+EXTRA_LINK_ARGS = shlex.split(os.environ.get('GRPC_PYTHON_LDFLAGS',
+ '-lpthread'))
+
import protoc_lib_deps
import grpc_version
def protoc_ext_module():
plugin_sources = [
- 'grpc/protoc/main.cc',
+ 'grpc/tools/main.cc',
'grpc_root/src/compiler/python_generator.cc'] + [
os.path.join('third_party/protobuf/src', cc_file)
for cc_file in protoc_lib_deps.CC_FILES]
plugin_ext = extension.Extension(
- name='grpc.protoc.protoc_compiler',
- sources=['grpc/protoc/protoc_compiler.pyx'] + plugin_sources,
+ name='grpc.tools.protoc_compiler',
+ sources=['grpc/tools/protoc_compiler.pyx'] + plugin_sources,
include_dirs=[
'.',
'grpc_root',
@@ -60,7 +71,8 @@ def protoc_ext_module():
],
language='c++',
define_macros=[('HAVE_PTHREAD', 1)],
- extra_compile_args=['-lpthread', '-frtti', '-std=c++11'],
+ extra_compile_args=EXTRA_COMPILE_ARGS,
+ extra_link_args=EXTRA_LINK_ARGS,
)
return plugin_ext
@@ -71,7 +83,7 @@ def maybe_cythonize(exts):
setuptools.setup(
name='grpcio_tools',
version=grpc_version.VERSION,
- license='',
+ license='3-clause BSD',
ext_modules=maybe_cythonize([
protoc_ext_module(),
]),
diff --git a/tools/dockerfile/grpc_clang_format/Dockerfile b/tools/dockerfile/grpc_clang_format/Dockerfile
index 41239e9c23..ab58017a02 100644
--- a/tools/dockerfile/grpc_clang_format/Dockerfile
+++ b/tools/dockerfile/grpc_clang_format/Dockerfile
@@ -30,8 +30,8 @@
FROM ubuntu:wily
RUN apt-get update
RUN apt-get -y install wget
-RUN echo deb http://llvm.org/apt/wily/ llvm-toolchain-wily main >> /etc/apt/sources.list
-RUN echo deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily main >> /etc/apt/sources.list
+RUN echo deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list
+RUN echo deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list
RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key| apt-key add -
RUN apt-get update
RUN apt-get -y install clang-format-3.8
diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core
index aabca410da..eed84252cc 100644
--- a/tools/doxygen/Doxyfile.core
+++ b/tools/doxygen/Doxyfile.core
@@ -786,7 +786,6 @@ include/grpc/impl/codegen/sync_generic.h \
include/grpc/impl/codegen/sync_posix.h \
include/grpc/impl/codegen/sync_win32.h \
include/grpc/impl/codegen/time.h \
-include/grpc/grpc_cronet.h \
include/grpc/grpc_security.h \
include/grpc/grpc_security_constants.h \
include/grpc/census.h \
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 3ffc6174ed..7e0d5ebd37 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -786,7 +786,6 @@ include/grpc/impl/codegen/sync_generic.h \
include/grpc/impl/codegen/sync_posix.h \
include/grpc/impl/codegen/sync_win32.h \
include/grpc/impl/codegen/time.h \
-include/grpc/grpc_cronet.h \
include/grpc/grpc_security.h \
include/grpc/grpc_security_constants.h \
include/grpc/census.h \
@@ -914,44 +913,8 @@ src/core/ext/client_config/subchannel.h \
src/core/ext/client_config/subchannel_call_holder.h \
src/core/ext/client_config/subchannel_index.h \
src/core/ext/client_config/uri_parser.h \
-include/grpc/byte_buffer.h \
-include/grpc/grpc.h \
-include/grpc/impl/codegen/alloc.h \
-include/grpc/impl/codegen/atm.h \
-include/grpc/impl/codegen/atm_gcc_atomic.h \
-include/grpc/impl/codegen/atm_gcc_sync.h \
-include/grpc/impl/codegen/atm_win32.h \
-include/grpc/impl/codegen/byte_buffer.h \
-include/grpc/impl/codegen/compression_types.h \
-include/grpc/impl/codegen/connectivity_state.h \
-include/grpc/impl/codegen/grpc_types.h \
-include/grpc/impl/codegen/log.h \
-include/grpc/impl/codegen/port_platform.h \
-include/grpc/impl/codegen/propagation_bits.h \
-include/grpc/impl/codegen/slice.h \
-include/grpc/impl/codegen/slice_buffer.h \
-include/grpc/impl/codegen/status.h \
-include/grpc/impl/codegen/sync.h \
-include/grpc/impl/codegen/sync_generic.h \
-include/grpc/impl/codegen/sync_posix.h \
-include/grpc/impl/codegen/sync_win32.h \
-include/grpc/impl/codegen/time.h \
-include/grpc/status.h \
-include/grpc/support/alloc.h \
-include/grpc/support/atm.h \
-include/grpc/support/host_port.h \
-include/grpc/support/log.h \
-include/grpc/support/port_platform.h \
-include/grpc/support/slice.h \
-include/grpc/support/slice_buffer.h \
-include/grpc/support/string_util.h \
-include/grpc/support/sync.h \
-include/grpc/support/time.h \
-include/grpc/support/useful.h \
-src/core/lib/support/string.h \
-third_party/objective_c/Cronet/cronet_c_for_grpc.h \
src/core/ext/lb_policy/grpclb/load_balancer_api.h \
-src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h \
+src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h \
third_party/nanopb/pb.h \
third_party/nanopb/pb_common.h \
third_party/nanopb/pb_decode.h \
@@ -1108,11 +1071,8 @@ src/core/ext/client_config/subchannel_index.c \
src/core/ext/client_config/uri_parser.c \
src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \
src/core/ext/transport/chttp2/client/insecure/channel_create.c \
-src/core/ext/transport/cronet/client/secure/cronet_channel_create.c \
-src/core/ext/transport/cronet/transport/cronet_api_dummy.c \
-src/core/ext/transport/cronet/transport/cronet_transport.c \
src/core/ext/lb_policy/grpclb/load_balancer_api.c \
-src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c \
+src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \
third_party/nanopb/pb_common.c \
third_party/nanopb/pb_decode.c \
third_party/nanopb/pb_encode.c \
diff --git a/tools/gce/create_linux_performance_worker.sh b/tools/gce/create_linux_performance_worker.sh
index 8c9cc46a75..96d5558d9a 100755
--- a/tools/gce/create_linux_performance_worker.sh
+++ b/tools/gce/create_linux_performance_worker.sh
@@ -42,14 +42,15 @@ CLOUD_PROJECT=grpc-testing
ZONE=us-central1-b # this zone allows 32core machines
INSTANCE_NAME="${1:-grpc-performance-server1}"
-MACHINE_TYPE=n1-standard-32
+MACHINE_TYPE=n1-standard-8
gcloud compute instances create $INSTANCE_NAME \
--project="$CLOUD_PROJECT" \
--zone "$ZONE" \
--machine-type $MACHINE_TYPE \
--image ubuntu-15-10 \
- --boot-disk-size 300
+ --boot-disk-size 300 \
+ --scope https://www.googleapis.com/auth/bigquery
echo 'Created GCE instance, waiting 60 seconds for it to come online.'
sleep 60
diff --git a/tools/gce/create_linux_worker.sh b/tools/gce/create_linux_worker.sh
index dff0b1ce5f..c41e4d299b 100755
--- a/tools/gce/create_linux_worker.sh
+++ b/tools/gce/create_linux_worker.sh
@@ -43,7 +43,7 @@ gcloud compute instances create $INSTANCE_NAME \
--project="$CLOUD_PROJECT" \
--zone "$ZONE" \
--machine-type n1-standard-8 \
- --image ubuntu-14-04 \
+ --image ubuntu-15-10 \
--boot-disk-size 1000
echo 'Created GCE instance, waiting 60 seconds for it to come online.'
diff --git a/tools/gce/linux_performance_worker_init.sh b/tools/gce/linux_performance_worker_init.sh
index df29581e69..96e8a1353c 100755
--- a/tools/gce/linux_performance_worker_init.sh
+++ b/tools/gce/linux_performance_worker_init.sh
@@ -94,6 +94,7 @@ sudo pip install tox
# Node dependencies (nvm has to be installed under user jenkins)
touch .profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
+source ~/.nvm/nvm.sh
nvm install 0.12 && npm config set cache /tmp/npm-cache
nvm install 4 && npm config set cache /tmp/npm-cache
nvm install 5 && npm config set cache /tmp/npm-cache
@@ -115,3 +116,6 @@ source ~/.rvm/scripts/rvm
gem install bundler
# Java dependencies - nothing as we already have Java JDK 8
+
+# Go dependencies
+sudo apt-get install -y golang-go
diff --git a/tools/gce/linux_worker_init.sh b/tools/gce/linux_worker_init.sh
index ef6a5d175c..afcf7a52d9 100755
--- a/tools/gce/linux_worker_init.sh
+++ b/tools/gce/linux_worker_init.sh
@@ -37,7 +37,7 @@ set -ex
sudo apt-get update
# Install JRE
-sudo apt-get install -y openjdk-7-jre
+sudo apt-get install -y openjdk-8-jre
sudo apt-get install -y unzip lsof
# Install Docker
diff --git a/tools/run_tests/artifact_targets.py b/tools/run_tests/artifact_targets.py
index 477bd46888..bd1269ceb7 100644
--- a/tools/run_tests/artifact_targets.py
+++ b/tools/run_tests/artifact_targets.py
@@ -113,37 +113,7 @@ class PythonArtifact:
# defines ourselves.
# TODO(atash) get better platform-detection support in core so we don't
# need to do this manually...
- environ['CFLAGS'] = " ".join([
- '-DGPR_NO_AUTODETECT_PLATFORM',
- '-DGPR_PLATFORM_STRING=\\"manylinux\\"',
- '-DGPR_POSIX_CRASH_HANDLER=1',
- '-DGPR_CPU_LINUX=1',
- '-DGPR_GCC_ATOMIC=1',
- '-DGPR_GCC_TLS=1',
- '-DGPR_LINUX=1',
- '-DGPR_LINUX_LOG=1',
- #'-DGPR_LINUX_MULTIPOLL_WITH_EPOLL=1',
- '-DGPR_POSIX_SOCKET=1',
- '-DGPR_POSIX_WAKEUP_FD=1',
- '-DGPR_POSIX_SOCKETADDR=1',
- #'-DGPR_LINUX_EVENTFD=1',
- '-DGPR_POSIX_NO_SPECIAL_WAKEUP_FD=1',
- #'-DGPR_LINUX_SOCKETUTILS=1',
- '-DGPR_POSIX_SOCKETUTILS=1',
- '-DGPR_HAVE_UNIX_SOCKET=1',
- '-DGPR_HAVE_IP_PKTINFO=1',
- '-DGPR_HAVE_IPV6_RECVPKTINFO=1',
- '-DGPR_LINUX_ENV=1',
- '-DGPR_POSIX_FILE=1',
- '-DGPR_POSIX_TMPFILE=1',
- '-DGPR_POSIX_STRING=1',
- '-DGPR_POSIX_SUBPROCESS=1',
- '-DGPR_POSIX_SYNC=1',
- '-DGPR_POSIX_TIME=1',
- '-DGPR_GETPID_IN_UNISTD_H=1',
- '-DGPR_HAVE_MSG_NOSIGNAL=1',
- '-DGPR_ARCH_{arch}=1'.format(arch=('32' if self.arch == 'x86' else '64')),
- ])
+ environ['CFLAGS'] = '-DGPR_MANYLINUX1=1'
return create_docker_jobspec(self.name,
'tools/dockerfile/grpc_artifact_python_manylinux_%s' % self.arch,
'tools/run_tests/build_artifact_python.sh',
diff --git a/tools/run_tests/build_artifact_node.bat b/tools/run_tests/build_artifact_node.bat
index 84c63c28a2..c5bd726db7 100644
--- a/tools/run_tests/build_artifact_node.bat
+++ b/tools/run_tests/build_artifact_node.bat
@@ -27,7 +27,7 @@
@rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
@rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-set node_versions=0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0
+set node_versions=0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 6.0.0
set PATH=%PATH%;C:\Program Files\nodejs\;%APPDATA%\npm
@@ -38,12 +38,12 @@ call npm update || goto :error
mkdir artifacts
for %%v in (%node_versions%) do (
- call node-pre-gyp configure build --target=%%v --target_arch=%1
+ call .\node_modules\.bin\node-pre-gyp.cmd configure build --target=%%v --target_arch=%1
@rem Try again after removing openssl headers
rmdir "%HOMEDRIVE%%HOMEPATH%\.node-gyp\%%v\include\node\openssl" /S /Q
rmdir "%HOMEDRIVE%%HOMEPATH%\.node-gyp\iojs-%%v\include\node\openssl" /S /Q
- call node-pre-gyp build package testpackage --target=%%v --target_arch=%1 || goto :error
+ call .\node_modules\.bin\node-pre-gyp.cmd build package testpackage --target=%%v --target_arch=%1 || goto :error
xcopy /Y /I /S build\stage\* artifacts\ || goto :error
)
diff --git a/tools/run_tests/build_artifact_node.sh b/tools/run_tests/build_artifact_node.sh
index ef3476a038..9d06472aa4 100755
--- a/tools/run_tests/build_artifact_node.sh
+++ b/tools/run_tests/build_artifact_node.sh
@@ -42,7 +42,7 @@ mkdir -p artifacts
npm update
-node_versions=( 0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 )
+node_versions=( 0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 6.0.0 )
for version in ${node_versions[@]}
do
diff --git a/tools/run_tests/build_artifact_python.bat b/tools/run_tests/build_artifact_python.bat
index 636ae0d393..fea0275426 100644
--- a/tools/run_tests/build_artifact_python.bat
+++ b/tools/run_tests/build_artifact_python.bat
@@ -41,7 +41,7 @@ copy /Y vsprojects\Release\grpc_dll.dll src\python\grpcio\grpc\_cython\_windows\
copy /Y vsprojects\x64\Release\grpc_dll.dll src\python\grpcio\grpc\_cython\_windows\grpc_c.64.python || goto :error
-set PATH=C:\%1;C:\%1\scripts;%PATH%
+set PATH=C:\%1;C:\%1\scripts;C:\msys64\mingw%2\bin;%PATH%
pip install --upgrade six
pip install --upgrade setuptools
@@ -50,12 +50,26 @@ pip install -rrequirements.txt
set GRPC_PYTHON_USE_CUSTOM_BDIST=0
set GRPC_PYTHON_BUILD_WITH_CYTHON=1
+@rem TODO(atash): maybe we could avoid the grpc_c.(32|64).python shim above if
+@rem this used the right python build?
python setup.py bdist_wheel
@rem Build gRPC Python tools
-set PATH=C:\msys64\mingw%2\bin;%PATH%
-set CC=C:\msys64\mingw%2\bin\g++.exe
-set CFLAGS=-fno-wrapv
+@rem
+@rem Because this is windows and *everything seems to hate Windows* we have to
+@rem set all of these flags ourselves because Python won't help us (see the
+@rem setup.py of the grpcio_tools project).
+set GRPC_PYTHON_CFLAGS=-fno-wrapv -frtti -std=c++11
+@rem Further confusing things, MSYS2's mingw64 tries to dynamically link
+@rem libgcc, libstdc++, and winpthreads. We have to override this or our
+@rem extensions end up linking to MSYS2 DLLs, which the normal Python on
+@rem Windows user won't have... and ON TOP OF THIS, there's MinGW's GCC default
+@rem behavior of linking msvcrt.dll as the C runtime library, which we need to
+@rem override so that Python's distutils doesn't link us against multiple C
+@rem runtimes.
+python -c "from distutils.cygwinccompiler import get_msvcr; print(get_msvcr()[0])" > temp.txt
+set /p PYTHON_MSVCR=<temp.txt
+set GRPC_PYTHON_LDFLAGS=-static-libgcc -static-libstdc++ -mcrtdll=%PYTHON_MSVCR% -static -lpthread
python tools\distrib\python\make_grpcio_tools.py
if %2 == 32 (
python tools\distrib\python\grpcio_tools\setup.py build_ext -c mingw32
diff --git a/tools/run_tests/build_artifact_python.sh b/tools/run_tests/build_artifact_python.sh
index 35c3a48afa..4320f978e3 100755
--- a/tools/run_tests/build_artifact_python.sh
+++ b/tools/run_tests/build_artifact_python.sh
@@ -59,7 +59,11 @@ ${SETARCH_CMD} ${PYTHON} setup.py \
${SETARCH_CMD} ${PYTHON} setup.py \
bdist_wheel
-# Build gRPC tools package
+# Build gRPC tools package source distribution
+${SETARCH_CMD} ${PYTHON} tools/distrib/python/grpcio_tools/setup.py \
+ sdist
+
+# Build gRPC tools package binary distribution
${PYTHON} tools/distrib/python/make_grpcio_tools.py
CFLAGS="$CFLAGS -fno-wrapv" ${SETARCH_CMD} \
${PYTHON} tools/distrib/python/grpcio_tools/setup.py bdist_wheel
diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py
index ddbe237569..8f76d0a02e 100644
--- a/tools/run_tests/performance/scenario_config.py
+++ b/tools/run_tests/performance/scenario_config.py
@@ -29,11 +29,12 @@
# performance scenario configuration for various languages
-SINGLE_MACHINE_CORES=8
WARMUP_SECONDS=5
JAVA_WARMUP_SECONDS=15 # Java needs more warmup time for JIT to kick in.
BENCHMARK_SECONDS=30
+SMOKETEST='smoketest'
+
SECURE_SECARGS = {'use_test_ca': True,
'server_host_override': 'foo.test.google.fr'}
@@ -69,6 +70,86 @@ DEEP=100
WIDE=64
+def _get_secargs(is_secure):
+ if is_secure:
+ return SECURE_SECARGS
+ else:
+ return None
+
+
+def remove_nonproto_fields(scenario):
+ """Remove special-purpose that contains some extra info about the scenario
+ but don't belong to the ScenarioConfig protobuf message"""
+ scenario.pop('CATEGORIES', None)
+ scenario.pop('SERVER_LANGUAGE', None)
+ return scenario
+
+
+def _ping_pong_scenario(name, rpc_type,
+ client_type, server_type,
+ secure=True,
+ use_generic_payload=False,
+ use_unconstrained_client=False,
+ server_language=None,
+ server_core_limit=0,
+ async_server_threads=0,
+ warmup_seconds=WARMUP_SECONDS,
+ categories=[]):
+ """Creates a basic ping pong scenario."""
+ scenario = {
+ 'name': name,
+ 'num_servers': 1,
+ 'num_clients': 1,
+ 'client_config': {
+ 'client_type': client_type,
+ 'security_params': _get_secargs(secure),
+ 'outstanding_rpcs_per_channel': 1,
+ 'client_channels': 1,
+ 'async_client_threads': 1,
+ 'rpc_type': rpc_type,
+ 'load_params': {
+ 'closed_loop': {}
+ },
+ 'histogram_params': HISTOGRAM_PARAMS,
+ },
+ 'server_config': {
+ 'server_type': server_type,
+ 'security_params': _get_secargs(secure),
+ 'core_limit': server_core_limit,
+ 'async_server_threads': async_server_threads,
+ },
+ 'warmup_seconds': warmup_seconds,
+ 'benchmark_seconds': BENCHMARK_SECONDS
+ }
+ if use_generic_payload:
+ if server_type != 'ASYNC_GENERIC_SERVER':
+ raise Exception('Use ASYNC_GENERIC_SERVER for generic payload.')
+ scenario['client_config']['payload_config'] = EMPTY_GENERIC_PAYLOAD
+ scenario['server_config']['payload_config'] = EMPTY_GENERIC_PAYLOAD
+ else:
+ # For proto payload, only the client should get the config.
+ scenario['client_config']['payload_config'] = EMPTY_PROTO_PAYLOAD
+
+ if use_unconstrained_client:
+ scenario['num_clients'] = 0 # use as many client as available.
+ # TODO(jtattermusch): for SYNC_CLIENT, this will create 100*64 threads
+ # and that's probably too much (at least for wrapped languages).
+ scenario['client_config']['outstanding_rpcs_per_channel'] = DEEP
+ scenario['client_config']['client_channels'] = WIDE
+ scenario['client_config']['async_client_threads'] = 0
+ else:
+ scenario['client_config']['outstanding_rpcs_per_channel'] = 1
+ scenario['client_config']['client_channels'] = 1
+ scenario['client_config']['async_client_threads'] = 1
+
+ if server_language:
+ # the SERVER_LANGUAGE field is recognized by run_performance_tests.py
+ scenario['SERVER_LANGUAGE'] = server_language
+ if categories:
+ scenario['CATEGORIES'] = categories
+ return scenario
+
+
class CXXLanguage:
def __init__(self):
@@ -83,205 +164,61 @@ class CXXLanguage:
def scenarios(self):
# TODO(ctiller): add 70% load latency test
for secure in [True, False]:
- if secure:
- secstr = 'secure'
- secargs = SECURE_SECARGS
- else:
- secstr = 'insecure'
- secargs = None
-
- yield {
- 'name': 'cpp_generic_async_streaming_ping_pong_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_GENERIC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 1,
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_generic_async_streaming_qps_unconstrained_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 0,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': DEEP,
- 'client_channels': WIDE,
- 'async_client_threads': 0,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_GENERIC_SERVER',
- 'security_params': secargs,
- 'core_limit': SINGLE_MACHINE_CORES/2,
- 'async_server_threads': 0,
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_generic_async_streaming_qps_one_server_core_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 0,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': DEEP,
- 'client_channels': WIDE,
- 'async_client_threads': 0,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_GENERIC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 1,
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_protobuf_async_streaming_qps_unconstrained_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 0,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': DEEP,
- 'client_channels': WIDE,
- 'async_client_threads': 0,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': SINGLE_MACHINE_CORES/2,
- 'async_server_threads': 0,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_protobuf_async_streaming_ping_pong_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_protobuf_sync_unary_ping_pong_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 0,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 0,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'cpp_protobuf_async_unary_ping_pong_%s'
- % secstr,
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
+ secstr = 'secure' if secure else 'insecure'
+ smoketest_categories = [SMOKETEST] if secure else None
+
+ yield _ping_pong_scenario(
+ 'cpp_generic_async_streaming_ping_pong_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_generic_payload=True, server_core_limit=1, async_server_threads=1,
+ secure=secure,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'cpp_protobuf_async_streaming_ping_pong_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ server_core_limit=1, async_server_threads=1,
+ secure=secure)
+
+ yield _ping_pong_scenario(
+ 'cpp_protobuf_async_unary_ping_pong_%s' % secstr, rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ server_core_limit=1, async_server_threads=1,
+ secure=secure,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'cpp_protobuf_sync_unary_ping_pong_%s' % secstr, rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ server_core_limit=1, async_server_threads=1,
+ secure=secure)
+
+ yield _ping_pong_scenario(
+ 'cpp_protobuf_async_unary_qps_unconstrained_%s' % secstr, rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ secure=secure,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'cpp_protobuf_async_streaming_qps_unconstrained_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ secure=secure)
+
+ yield _ping_pong_scenario(
+ 'cpp_generic_async_streaming_qps_unconstrained_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_unconstrained_client=True, use_generic_payload=True,
+ secure=secure,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'cpp_generic_async_streaming_qps_one_server_core_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_unconstrained_client=True, use_generic_payload=True,
+ server_core_limit=1, async_server_threads=1,
+ secure=secure)
def __str__(self):
return 'c++'
@@ -299,113 +236,46 @@ class CSharpLanguage:
return 100
def scenarios(self):
- secargs = SECURE_SECARGS
- yield {
- 'name': 'csharp_generic_async_streaming_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_GENERIC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 0,
- 'payload_config': EMPTY_GENERIC_PAYLOAD,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'csharp_protobuf_async_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 0,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'csharp_protobuf_sync_to_async_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 0,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
- yield {
- 'name': 'csharp_to_cpp_protobuf_sync_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 1,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS,
- 'SERVER_LANGUAGE': 'c++' # recognized by run_performance_tests.py
- }
+ yield _ping_pong_scenario(
+ 'csharp_generic_async_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_generic_payload=True,
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'csharp_protobuf_async_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER')
+
+ yield _ping_pong_scenario(
+ 'csharp_protobuf_async_unary_ping_pong', rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'csharp_protobuf_sync_to_async_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='ASYNC_SERVER')
+
+ yield _ping_pong_scenario(
+ 'csharp_protobuf_async_unary_qps_unconstrained', rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'csharp_protobuf_async_streaming_qps_unconstrained', rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True)
+
+ yield _ping_pong_scenario(
+ 'csharp_to_cpp_protobuf_sync_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ server_language='c++', server_core_limit=1, async_server_threads=1,
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'csharp_to_cpp_protobuf_async_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ server_language='c++', server_core_limit=1, async_server_threads=1)
def __str__(self):
return 'csharp'
@@ -424,34 +294,45 @@ class NodeLanguage:
return 200
def scenarios(self):
- # TODO(jtattermusch): add more scenarios
- secargs = SECURE_SECARGS
- yield {
- 'name': 'node_protobuf_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'node_generic_async_streaming_ping_pong', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ # use_generic_payload=True)
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'node_protobuf_async_streaming_ping_pong', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER')
+
+ yield _ping_pong_scenario(
+ 'node_protobuf_unary_ping_pong', rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'node_protobuf_async_unary_qps_unconstrained', rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ categories=[SMOKETEST])
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'node_protobuf_async_streaming_qps_unconstrained', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ # use_unconstrained_client=True)
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'node_to_cpp_protobuf_async_unary_ping_pong', rpc_type='UNARY',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ # server_language='c++', server_core_limit=1, async_server_threads=1)
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'node_to_cpp_protobuf_async_streaming_ping_pong', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ # server_language='c++', server_core_limit=1, async_server_threads=1)
def __str__(self):
return 'node'
@@ -468,114 +349,52 @@ class PythonLanguage:
return 500
def scenarios(self):
- yield {
- 'name': 'python_to_cpp_protobuf_streaming_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': SECURE_SECARGS,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': SECURE_SECARGS,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS,
- 'SERVER_LANGUAGE': 'c++'
- }
- yield {
- 'name': 'python_protobuf_sync_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': SECURE_SECARGS,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': SECURE_SECARGS,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS,
- }
- yield {
- 'name': 'python_protobuf_async_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': SECURE_SECARGS,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': SECURE_SECARGS,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS,
- }
- yield {
- 'name': 'python_to_cpp_single_channel_throughput',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'ASYNC_CLIENT',
- 'security_params': SECURE_SECARGS,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'STREAMING',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': BIG_GENERIC_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'ASYNC_GENERIC_SERVER',
- 'security_params': SECURE_SECARGS,
- 'core_limit': SINGLE_MACHINE_CORES/2,
- 'async_server_threads': 1,
- 'payload_config': BIG_GENERIC_PAYLOAD,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS,
- 'SERVER_LANGUAGE': 'c++'
- }
-
+ # TODO(jtattermusch): this scenario reports QPS 0.0
+ yield _ping_pong_scenario(
+ 'python_generic_async_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_generic_payload=True,
+ categories=[SMOKETEST])
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'python_protobuf_async_streaming_ping_pong', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER')
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'python_protobuf_async_unary_ping_pong', rpc_type='UNARY',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER')
+
+ yield _ping_pong_scenario(
+ 'python_protobuf_sync_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ categories=[SMOKETEST])
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'python_protobuf_sync_unary_qps_unconstrained', rpc_type='UNARY',
+ # client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ # use_unconstrained_client=True)
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'python_protobuf_async_streaming_qps_unconstrained', rpc_type='STREAMING',
+ # client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ # use_unconstrained_client=True)
+
+ yield _ping_pong_scenario(
+ 'python_to_cpp_protobuf_sync_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ server_language='c++', server_core_limit=1, async_server_threads=1,
+ categories=[SMOKETEST])
+
+ # TODO(jtattermusch): make this scenario work
+ #yield _ping_pong_scenario(
+ # 'python_to_cpp_protobuf_sync_streaming_ping_pong', rpc_type='STREAMING',
+ # client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ # server_language='c++', server_core_limit=1, async_server_threads=1)
+
def __str__(self):
return 'python'
@@ -592,34 +411,37 @@ class RubyLanguage:
return 300
def scenarios(self):
- # TODO(jtattermusch): add more scenarios
- secargs = SECURE_SECARGS
- yield {
- 'name': 'ruby_protobuf_unary_ping_pong',
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
+ yield _ping_pong_scenario(
+ 'ruby_protobuf_sync_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ categories=[SMOKETEST])
+
+ yield _ping_pong_scenario(
+ 'ruby_protobuf_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ categories=[SMOKETEST])
+
+ # TODO: scenario reports QPS of 0.0
+ #yield _ping_pong_scenario(
+ # 'ruby_protobuf_sync_unary_qps_unconstrained', rpc_type='UNARY',
+ # client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ # use_unconstrained_client=True)
+
+ # TODO: scenario reports QPS of 0.0
+ #yield _ping_pong_scenario(
+ # 'ruby_protobuf_sync_streaming_qps_unconstrained', rpc_type='STREAMING',
+ # client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ # use_unconstrained_client=True)
+
+ yield _ping_pong_scenario(
+ 'ruby_to_cpp_protobuf_sync_unary_ping_pong', rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ server_language='c++', server_core_limit=1, async_server_threads=1)
+
+ yield _ping_pong_scenario(
+ 'ruby_to_cpp_protobuf_sync_streaming_ping_pong', rpc_type='STREAMING',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ server_language='c++', server_core_limit=1, async_server_threads=1)
def __str__(self):
return 'ruby'
@@ -638,41 +460,63 @@ class JavaLanguage:
return 400
def scenarios(self):
- # TODO(jtattermusch): add more scenarios
for secure in [True, False]:
- if secure:
- secstr = 'secure'
- secargs = SECURE_SECARGS
- else:
- secstr = 'insecure'
- secargs = None
-
- yield {
- 'name': 'java_protobuf_unary_ping_pong_%s' % secstr,
- 'num_servers': 1,
- 'num_clients': 1,
- 'client_config': {
- 'client_type': 'SYNC_CLIENT',
- 'security_params': secargs,
- 'outstanding_rpcs_per_channel': 1,
- 'client_channels': 1,
- 'async_client_threads': 1,
- 'rpc_type': 'UNARY',
- 'load_params': {
- 'closed_loop': {}
- },
- 'payload_config': EMPTY_PROTO_PAYLOAD,
- 'histogram_params': HISTOGRAM_PARAMS,
- },
- 'server_config': {
- 'server_type': 'SYNC_SERVER',
- 'security_params': secargs,
- 'core_limit': 0,
- 'async_server_threads': 1,
- },
- 'warmup_seconds': JAVA_WARMUP_SECONDS,
- 'benchmark_seconds': BENCHMARK_SECONDS
- }
+ secstr = 'secure' if secure else 'insecure'
+ smoketest_categories = [SMOKETEST] if secure else None
+
+ yield _ping_pong_scenario(
+ 'java_generic_async_streaming_ping_pong_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_generic_payload=True, async_server_threads=1,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'java_protobuf_async_streaming_ping_pong_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ async_server_threads=1,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS)
+
+ yield _ping_pong_scenario(
+ 'java_protobuf_async_unary_ping_pong_%s' % secstr, rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ async_server_threads=1,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'java_protobuf_unary_ping_pong_%s' % secstr, rpc_type='UNARY',
+ client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
+ async_server_threads=1,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS)
+
+ yield _ping_pong_scenario(
+ 'java_protobuf_async_unary_qps_unconstrained_%s' % secstr, rpc_type='UNARY',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS,
+ categories=smoketest_categories)
+
+ yield _ping_pong_scenario(
+ 'java_protobuf_async_streaming_qps_unconstrained_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
+ use_unconstrained_client=True,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS)
+
+ yield _ping_pong_scenario(
+ 'java_generic_async_streaming_qps_unconstrained_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_unconstrained_client=True, use_generic_payload=True,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS)
+
+ yield _ping_pong_scenario(
+ 'java_generic_async_streaming_qps_one_server_core_%s' % secstr, rpc_type='STREAMING',
+ client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER',
+ use_unconstrained_client=True, use_generic_payload=True,
+ async_server_threads=1,
+ secure=secure, warmup_seconds=JAVA_WARMUP_SECONDS)
+
+ # TODO(jtattermusch): add scenarios java vs C++
def __str__(self):
return 'java'
diff --git a/tools/run_tests/run_performance_tests.py b/tools/run_tests/run_performance_tests.py
index 5519666e84..b1f5889e54 100755
--- a/tools/run_tests/run_performance_tests.py
+++ b/tools/run_tests/run_performance_tests.py
@@ -89,7 +89,7 @@ def create_qpsworker_job(language, shortname=None,
jobspec = jobset.JobSpec(
cmdline=cmdline,
shortname=shortname,
- timeout_seconds=30*60)
+ timeout_seconds=2*60*60)
return QpsWorkerJob(jobspec, language, host_and_port)
@@ -244,7 +244,7 @@ def start_qpsworkers(languages, worker_hosts):
def create_scenarios(languages, workers_by_lang, remote_host=None, regex='.*',
- bq_result_table=None):
+ category='all', bq_result_table=None):
"""Create jobspecs for scenarios to run."""
all_workers = [worker
for workers in workers_by_lang.values()
@@ -253,25 +253,26 @@ def create_scenarios(languages, workers_by_lang, remote_host=None, regex='.*',
for language in languages:
for scenario_json in language.scenarios():
if re.search(args.regex, scenario_json['name']):
- workers = workers_by_lang[str(language)]
- # 'SERVER_LANGUAGE' is an indicator for this script to pick
- # a server in different language. It doesn't belong to the Scenario
- # schema, so we also need to remove it.
- custom_server_lang = scenario_json.pop('SERVER_LANGUAGE', None)
- if custom_server_lang:
- if not workers_by_lang.get(custom_server_lang, []):
- print 'Warning: Skipping scenario %s as' % scenario_json['name']
- print('SERVER_LANGUAGE is set to %s yet the language has '
- 'not been selected with -l' % custom_server_lang)
- continue
- for idx in range(0, scenario_json['num_servers']):
- # replace first X workers by workers of a different language
- workers[idx] = workers_by_lang[custom_server_lang][idx]
- scenario = create_scenario_jobspec(scenario_json,
- workers,
- remote_host=remote_host,
- bq_result_table=bq_result_table)
- scenarios.append(scenario)
+ if category in scenario_json.get('CATEGORIES', []) or category == 'all':
+ workers = workers_by_lang[str(language)]
+ # 'SERVER_LANGUAGE' is an indicator for this script to pick
+ # a server in different language.
+ custom_server_lang = scenario_json.get('SERVER_LANGUAGE', None)
+ scenario_json = scenario_config.remove_nonproto_fields(scenario_json)
+ if custom_server_lang:
+ if not workers_by_lang.get(custom_server_lang, []):
+ print 'Warning: Skipping scenario %s as' % scenario_json['name']
+ print('SERVER_LANGUAGE is set to %s yet the language has '
+ 'not been selected with -l' % custom_server_lang)
+ continue
+ for idx in range(0, scenario_json['num_servers']):
+ # replace first X workers by workers of a different language
+ workers[idx] = workers_by_lang[custom_server_lang][idx]
+ scenario = create_scenario_jobspec(scenario_json,
+ workers,
+ remote_host=remote_host,
+ bq_result_table=bq_result_table)
+ scenarios.append(scenario)
# the very last scenario requests shutting down the workers.
scenarios.append(create_quit_jobspec(all_workers, remote_host=remote_host))
@@ -298,7 +299,7 @@ argp = argparse.ArgumentParser(description='Run performance tests.')
argp.add_argument('-l', '--language',
choices=['all'] + sorted(scenario_config.LANGUAGES.keys()),
nargs='+',
- default=['all'],
+ required=True,
help='Languages to benchmark.')
argp.add_argument('--remote_driver_host',
default=None,
@@ -311,6 +312,10 @@ argp.add_argument('-r', '--regex', default='.*', type=str,
help='Regex to select scenarios to run.')
argp.add_argument('--bq_result_table', default=None, type=str,
help='Bigquery "dataset.table" to upload results to.')
+argp.add_argument('--category',
+ choices=['smoketest','all'],
+ default='smoketest',
+ help='Select a category of tests to run. Smoketest runs by default.')
args = argp.parse_args()
@@ -354,6 +359,7 @@ try:
workers_by_lang=worker_addresses,
remote_host=args.remote_driver_host,
regex=args.regex,
+ category=args.category,
bq_result_table=args.bq_result_table)
if not scenarios:
raise Exception('No scenarios to run')
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 8c67d2f844..8b1aa574e8 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -2248,8 +2248,8 @@
"grpc_test_util"
],
"headers": [
- "src/proto/grpc/lb/v0/load_balancer.grpc.pb.h",
- "src/proto/grpc/lb/v0/load_balancer.pb.h"
+ "src/proto/grpc/lb/v1/load_balancer.grpc.pb.h",
+ "src/proto/grpc/lb/v1/load_balancer.pb.h"
],
"language": "c++",
"name": "grpclb_api_test",
@@ -3397,6 +3397,23 @@
],
"headers": [],
"language": "c",
+ "name": "large_metadata_bad_client_test",
+ "src": [
+ "test/core/bad_client/tests/large_metadata.c"
+ ],
+ "third_party": false,
+ "type": "target"
+ },
+ {
+ "deps": [
+ "bad_client_test",
+ "gpr",
+ "gpr_test_util",
+ "grpc_test_util_unsecure",
+ "grpc_unsecure"
+ ],
+ "headers": [],
+ "language": "c",
"name": "server_registered_method_bad_client_test",
"src": [
"test/core/bad_client/tests/server_registered_method.c"
@@ -4140,8 +4157,7 @@
"grpc_transport_chttp2_client_insecure",
"grpc_transport_chttp2_client_secure",
"grpc_transport_chttp2_server_insecure",
- "grpc_transport_chttp2_server_secure",
- "grpc_transport_cronet_client_secure"
+ "grpc_transport_chttp2_server_secure"
],
"headers": [],
"language": "c",
@@ -5934,15 +5950,15 @@
],
"headers": [
"src/core/ext/lb_policy/grpclb/load_balancer_api.h",
- "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h"
+ "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h"
],
"language": "c",
"name": "grpc_lb_policy_grpclb",
"src": [
"src/core/ext/lb_policy/grpclb/load_balancer_api.c",
"src/core/ext/lb_policy/grpclb/load_balancer_api.h",
- "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c",
- "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h"
+ "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
+ "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h"
],
"third_party": false,
"type": "filegroup"
@@ -6015,7 +6031,6 @@
"tsi"
],
"headers": [
- "include/grpc/grpc_cronet.h",
"include/grpc/grpc_security.h",
"include/grpc/grpc_security_constants.h",
"src/core/lib/security/auth_filters.h",
@@ -6031,7 +6046,6 @@
"language": "c",
"name": "grpc_secure",
"src": [
- "include/grpc/grpc_cronet.h",
"include/grpc/grpc_security.h",
"include/grpc/grpc_security_constants.h",
"src/core/lib/http/httpcli_security_connector.c",
@@ -6270,121 +6284,6 @@
{
"deps": [],
"headers": [
- "include/grpc/byte_buffer.h",
- "include/grpc/grpc.h",
- "include/grpc/impl/codegen/alloc.h",
- "include/grpc/impl/codegen/atm.h",
- "include/grpc/impl/codegen/atm_gcc_atomic.h",
- "include/grpc/impl/codegen/atm_gcc_sync.h",
- "include/grpc/impl/codegen/atm_win32.h",
- "include/grpc/impl/codegen/byte_buffer.h",
- "include/grpc/impl/codegen/compression_types.h",
- "include/grpc/impl/codegen/connectivity_state.h",
- "include/grpc/impl/codegen/grpc_types.h",
- "include/grpc/impl/codegen/log.h",
- "include/grpc/impl/codegen/port_platform.h",
- "include/grpc/impl/codegen/propagation_bits.h",
- "include/grpc/impl/codegen/slice.h",
- "include/grpc/impl/codegen/slice_buffer.h",
- "include/grpc/impl/codegen/status.h",
- "include/grpc/impl/codegen/sync.h",
- "include/grpc/impl/codegen/sync_generic.h",
- "include/grpc/impl/codegen/sync_posix.h",
- "include/grpc/impl/codegen/sync_win32.h",
- "include/grpc/impl/codegen/time.h",
- "include/grpc/status.h",
- "include/grpc/support/alloc.h",
- "include/grpc/support/atm.h",
- "include/grpc/support/host_port.h",
- "include/grpc/support/log.h",
- "include/grpc/support/port_platform.h",
- "include/grpc/support/slice.h",
- "include/grpc/support/slice_buffer.h",
- "include/grpc/support/string_util.h",
- "include/grpc/support/sync.h",
- "include/grpc/support/time.h",
- "include/grpc/support/useful.h",
- "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
- "src/core/lib/channel/channel_stack.h",
- "src/core/lib/channel/context.h",
- "src/core/lib/debug/trace.h",
- "src/core/lib/iomgr/closure.h",
- "src/core/lib/iomgr/exec_ctx.h",
- "src/core/lib/iomgr/pollset.h",
- "src/core/lib/iomgr/pollset_set.h",
- "src/core/lib/support/string.h",
- "src/core/lib/surface/channel.h",
- "src/core/lib/surface/channel_stack_type.h",
- "src/core/lib/transport/byte_stream.h",
- "src/core/lib/transport/metadata.h",
- "src/core/lib/transport/metadata_batch.h",
- "src/core/lib/transport/transport.h",
- "src/core/lib/transport/transport_impl.h",
- "third_party/objective_c/Cronet/cronet_c_for_grpc.h"
- ],
- "language": "c",
- "name": "grpc_transport_cronet_client_secure",
- "src": [
- "include/grpc/byte_buffer.h",
- "include/grpc/grpc.h",
- "include/grpc/impl/codegen/alloc.h",
- "include/grpc/impl/codegen/atm.h",
- "include/grpc/impl/codegen/atm_gcc_atomic.h",
- "include/grpc/impl/codegen/atm_gcc_sync.h",
- "include/grpc/impl/codegen/atm_win32.h",
- "include/grpc/impl/codegen/byte_buffer.h",
- "include/grpc/impl/codegen/compression_types.h",
- "include/grpc/impl/codegen/connectivity_state.h",
- "include/grpc/impl/codegen/grpc_types.h",
- "include/grpc/impl/codegen/log.h",
- "include/grpc/impl/codegen/port_platform.h",
- "include/grpc/impl/codegen/propagation_bits.h",
- "include/grpc/impl/codegen/slice.h",
- "include/grpc/impl/codegen/slice_buffer.h",
- "include/grpc/impl/codegen/status.h",
- "include/grpc/impl/codegen/sync.h",
- "include/grpc/impl/codegen/sync_generic.h",
- "include/grpc/impl/codegen/sync_posix.h",
- "include/grpc/impl/codegen/sync_win32.h",
- "include/grpc/impl/codegen/time.h",
- "include/grpc/status.h",
- "include/grpc/support/alloc.h",
- "include/grpc/support/atm.h",
- "include/grpc/support/host_port.h",
- "include/grpc/support/log.h",
- "include/grpc/support/port_platform.h",
- "include/grpc/support/slice.h",
- "include/grpc/support/slice_buffer.h",
- "include/grpc/support/string_util.h",
- "include/grpc/support/sync.h",
- "include/grpc/support/time.h",
- "include/grpc/support/useful.h",
- "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
- "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c",
- "src/core/ext/transport/cronet/transport/cronet_api_dummy.c",
- "src/core/ext/transport/cronet/transport/cronet_transport.c",
- "src/core/lib/channel/channel_stack.h",
- "src/core/lib/channel/context.h",
- "src/core/lib/debug/trace.h",
- "src/core/lib/iomgr/closure.h",
- "src/core/lib/iomgr/exec_ctx.h",
- "src/core/lib/iomgr/pollset.h",
- "src/core/lib/iomgr/pollset_set.h",
- "src/core/lib/support/string.h",
- "src/core/lib/surface/channel.h",
- "src/core/lib/surface/channel_stack_type.h",
- "src/core/lib/transport/byte_stream.h",
- "src/core/lib/transport/metadata.h",
- "src/core/lib/transport/metadata_batch.h",
- "src/core/lib/transport/transport.h",
- "src/core/lib/transport/transport_impl.h"
- ],
- "third_party": false,
- "type": "filegroup"
- },
- {
- "deps": [],
- "headers": [
"third_party/nanopb/pb.h",
"third_party/nanopb/pb_common.h",
"third_party/nanopb/pb_decode.h",
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index cf1154426f..f1d302f2ef 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -2726,6 +2726,27 @@
"flaky": false,
"gtest": false,
"language": "c",
+ "name": "large_metadata_bad_client_test",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ]
+ },
+ {
+ "args": [],
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "cpu_cost": 1.0,
+ "exclude_configs": [],
+ "flaky": false,
+ "gtest": false,
+ "language": "c",
"name": "server_registered_method_bad_client_test",
"platforms": [
"linux",
@@ -21531,7 +21552,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21552,7 +21575,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21573,7 +21598,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21594,7 +21621,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21615,7 +21644,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21636,7 +21667,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21657,7 +21690,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21678,7 +21713,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21699,7 +21736,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21720,7 +21759,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21741,7 +21782,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21762,7 +21805,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21783,7 +21828,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21804,7 +21851,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21825,7 +21874,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21846,7 +21897,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21867,7 +21920,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21888,7 +21943,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21909,7 +21966,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21930,7 +21989,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21951,7 +22012,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21972,7 +22035,9 @@
"posix"
],
"cpu_cost": 0.1,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -21993,7 +22058,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22014,7 +22081,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22035,7 +22104,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22056,7 +22127,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22077,7 +22150,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22098,7 +22173,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22119,7 +22196,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22140,7 +22219,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22161,7 +22242,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22182,7 +22265,9 @@
"posix"
],
"cpu_cost": 1.0,
- "exclude_configs": [],
+ "exclude_configs": [
+ "msan"
+ ],
"flaky": false,
"language": "c",
"name": "h2_sockpair_1byte_nosec_test",
@@ -22942,7 +23027,7 @@
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_generic_async_streaming_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_async_streaming_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -22963,12 +23048,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_generic_async_streaming_qps_one_server_core_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_async_unary_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -22989,12 +23074,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_streaming_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_sync_unary_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"SYNC_SERVER\"}, \"client_config\": {\"client_type\": \"SYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23015,12 +23100,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure"
+ "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_streaming_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_protobuf_async_unary_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23041,12 +23126,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_secure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_secure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_sync_unary_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"SYNC_SERVER\"}, \"client_config\": {\"client_type\": \"SYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_protobuf_async_streaming_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23067,12 +23152,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_secure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_secure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_unary_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_generic_async_streaming_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23093,7 +23178,33 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure"
+ "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_secure"
+ },
+ {
+ "args": [
+ "--scenario_json",
+ "'{\"name\": \"cpp_generic_async_streaming_qps_one_server_core_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ ],
+ "boringssl": true,
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "cpu_cost": 1000.0,
+ "defaults": "boringssl",
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c++",
+ "name": "json_run_localhost",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_secure"
},
{
"args": [
@@ -23124,7 +23235,7 @@
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_generic_async_streaming_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_async_streaming_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23145,12 +23256,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_generic_async_streaming_qps_one_server_core_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_async_unary_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23171,12 +23282,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_streaming_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 4, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ "'{\"name\": \"cpp_protobuf_sync_unary_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"SYNC_SERVER\"}, \"client_config\": {\"client_type\": \"SYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23197,12 +23308,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure"
+ "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_streaming_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_protobuf_async_unary_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23223,12 +23334,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_streaming_ping_pong_insecure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_unary_qps_unconstrained_insecure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_sync_unary_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"SYNC_SERVER\"}, \"client_config\": {\"client_type\": \"SYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_protobuf_async_streaming_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23249,12 +23360,12 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_sync_unary_ping_pong_insecure"
+ "shortname": "json_run_localhost:cpp_protobuf_async_streaming_qps_unconstrained_insecure"
},
{
"args": [
"--scenario_json",
- "'{\"name\": \"cpp_protobuf_async_unary_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 1}'"
+ "'{\"name\": \"cpp_generic_async_streaming_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"core_limit\": 0, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
],
"boringssl": true,
"ci_platforms": [
@@ -23275,7 +23386,33 @@
"posix",
"windows"
],
- "shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure"
+ "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_unconstrained_insecure"
+ },
+ {
+ "args": [
+ "--scenario_json",
+ "'{\"name\": \"cpp_generic_async_streaming_qps_one_server_core_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 0, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}, \"num_clients\": 0}'"
+ ],
+ "boringssl": true,
+ "ci_platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "cpu_cost": 1000.0,
+ "defaults": "boringssl",
+ "exclude_configs": [],
+ "flaky": false,
+ "language": "c++",
+ "name": "json_run_localhost",
+ "platforms": [
+ "linux",
+ "mac",
+ "posix",
+ "windows"
+ ],
+ "shortname": "json_run_localhost:cpp_generic_async_streaming_qps_one_server_core_insecure"
},
{
"args": [