diff --git a/tools/run_tests/performance/build_performance.sh b/tools/run_tests/performance/build_performance.sh index 59d65a9276940115ee2e084b1b9ffffa2e39eb01..829c2e30405f04b3cc8c42b82d5bf88fcd1d42d1 100755 --- a/tools/run_tests/performance/build_performance.sh +++ b/tools/run_tests/performance/build_performance.sh @@ -36,14 +36,17 @@ cd $(dirname $0)/../../.. CONFIG=${CONFIG:-opt} -# build C++ qps worker & driver -# TODO(jtattermusch): not embedding OpenSSL breaks the C# build because -# grpc_csharp_ext needs OpenSSL embedded and some intermediate files from -# this build will be reused. -make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_driver -j8 +for language in $@ +do + if [ "$language" == "c++" ] + then + # build C++ qps worker & driver + # TODO(jtattermusch): not embedding OpenSSL breaks the C# build because + # grpc_csharp_ext needs OpenSSL embedded and some intermediate files from + # this build will be reused. + make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_driver -j8 + else + tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 + fi +done -# build C# qps worker -tools/run_tests/run_tests.py -l csharp -c $CONFIG --build_only -j 8 - -# build Node qps worker -tools/run_tests/run_tests.py -l node -c $CONFIG --build_only -j 8 diff --git a/tools/run_tests/performance/remote_host_build.sh b/tools/run_tests/performance/remote_host_build.sh index f23ea921ce38d98591f9b24e77d92b7027371bb2..fee4167d3321345bcdabc35ab2aaf0cca623a262 100755 --- a/tools/run_tests/performance/remote_host_build.sh +++ b/tools/run_tests/performance/remote_host_build.sh @@ -33,4 +33,4 @@ set -ex cd $(dirname $0)/../../.. # execute the build script remotely -ssh "${USER_AT_HOST}" "CONFIG=${CONFIG} ~/performance_workspace/grpc/tools/run_tests/performance/build_performance.sh" +ssh "${USER_AT_HOST}" "CONFIG=${CONFIG} ~/performance_workspace/grpc/tools/run_tests/performance/build_performance.sh $*" diff --git a/tools/run_tests/run_performance_tests.py b/tools/run_tests/run_performance_tests.py index cf6b3929366746749044b3e7c7cc99e1bb79cbe2..0ab3d264a59a2f4eb64ba2b4471dd823ee6ddd57 100755 --- a/tools/run_tests/run_performance_tests.py +++ b/tools/run_tests/run_performance_tests.py @@ -272,7 +272,7 @@ def prepare_remote_hosts(hosts): sys.exit(1) -def build_on_remote_hosts(hosts, build_local=False): +def build_on_remote_hosts(hosts, languages=_LANGUAGES.keys(), build_local=False): """Builds performance worker on remote hosts (and maybe also locally).""" build_timeout = 15*60 build_jobs = [] @@ -280,7 +280,7 @@ def build_on_remote_hosts(hosts, build_local=False): user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, host) build_jobs.append( jobset.JobSpec( - cmdline=['tools/run_tests/performance/remote_host_build.sh'], + cmdline=['tools/run_tests/performance/remote_host_build.sh'] + languages, shortname='remote_host_build.%s' % host, environ = {'USER_AT_HOST': user_at_host, 'CONFIG': 'opt'}, timeout_seconds=build_timeout)) @@ -288,7 +288,7 @@ def build_on_remote_hosts(hosts, build_local=False): # Build locally as well build_jobs.append( jobset.JobSpec( - cmdline=['tools/run_tests/performance/build_performance.sh'], + cmdline=['tools/run_tests/performance/build_performance.sh'] + languages, shortname='local_build', environ = {'CONFIG': 'opt'}, timeout_seconds=build_timeout)) @@ -400,7 +400,7 @@ if remote_hosts: build_local = False if not args.remote_driver_host: build_local = True -build_on_remote_hosts(remote_hosts, build_local=build_local) +build_on_remote_hosts(remote_hosts, languages=[str(l) for l in languages], build_local=build_local) qpsworker_jobs = start_qpsworkers(languages, args.remote_worker_host)