diff options
author | 2018-02-01 14:49:51 -0800 | |
---|---|---|
committer | 2018-02-01 14:49:51 -0800 | |
commit | d2a575a4584e67449306a953af2926947f81014d (patch) | |
tree | 8a09149f78e269f5dcef2d7fa8ae5802acc19220 /tools/run_tests/performance | |
parent | 16efe6c750caacdf4fe10ea62605a76761154e7c (diff) | |
parent | ac47595e42036585a9d9465ba28615d3e4626b13 (diff) |
Merge branch 'master' into HEAD
Diffstat (limited to 'tools/run_tests/performance')
16 files changed, 47 insertions, 40 deletions
diff --git a/tools/run_tests/performance/build_performance.sh b/tools/run_tests/performance/build_performance.sh index e7d8db8e3e..22e0ca9fa0 100755 --- a/tools/run_tests/performance/build_performance.sh +++ b/tools/run_tests/performance/build_performance.sh @@ -16,7 +16,7 @@ source ~/.rvm/scripts/rvm set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." CONFIG=${CONFIG:-opt} @@ -28,11 +28,11 @@ then # 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_json_driver -j8 + make CONFIG="${CONFIG}" EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 fi PHP_ALREADY_BUILT="" -for language in $@ +for language in "$@" do case "$language" in "c++") @@ -53,10 +53,10 @@ do fi ;; "csharp") - python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr + python tools/run_tests/run_tests.py -l "$language" -c "$CONFIG" --build_only -j 8 --compiler coreclr ;; *) - python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 + python tools/run_tests/run_tests.py -l "$language" -c "$CONFIG" --build_only -j 8 ;; esac done diff --git a/tools/run_tests/performance/build_performance_go.sh b/tools/run_tests/performance/build_performance_go.sh index 5e97fb68d3..812728d4ce 100755 --- a/tools/run_tests/performance/build_performance_go.sh +++ b/tools/run_tests/performance/build_performance_go.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." export GOPATH=$(pwd)/../gopath @@ -24,6 +24,6 @@ go get google.golang.org/grpc rm -rf "${GOPATH}/src/google.golang.org/grpc" # Get the revision of grpc-go we want to test -git clone --recursive ../grpc-go ${GOPATH}/src/google.golang.org/grpc +git clone --recursive ../grpc-go "${GOPATH}/src/google.golang.org/grpc" -(cd ${GOPATH}/src/google.golang.org/grpc/benchmark/worker && go install) +(cd "${GOPATH}/src/google.golang.org/grpc/benchmark/worker" && go install) diff --git a/tools/run_tests/performance/build_performance_php7.sh b/tools/run_tests/performance/build_performance_php7.sh index 141c9fd1c8..37ca9ee877 100755 --- a/tools/run_tests/performance/build_performance_php7.sh +++ b/tools/run_tests/performance/build_performance_php7.sh @@ -15,9 +15,9 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." CONFIG=${CONFIG:-opt} -python tools/run_tests/run_tests.py -l php7 -c $CONFIG --build_only -j 8 +python tools/run_tests/run_tests.py -l php7 -c "$CONFIG" --build_only -j 8 # Set up all dependences needed for PHP QPS test cd src/php/tests/qps diff --git a/tools/run_tests/performance/kill_workers.sh b/tools/run_tests/performance/kill_workers.sh index efe7282c0a..95a5bf5dcb 100755 --- a/tools/run_tests/performance/kill_workers.sh +++ b/tools/run_tests/performance/kill_workers.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # Make sure there are no pre-existing QPS workers around before starting # the performance test suite @@ -24,13 +24,17 @@ cd $(dirname $0)/../../.. killall -9 qps_worker || true # C# +# shellcheck disable=SC2009 ps -C mono -o pid=,cmd= | grep QpsWorker | awk '{print $1}' | xargs kill -9 || true +# shellcheck disable=SC2009 ps -C dotnet -o pid=,cmd= | grep QpsWorker | awk '{print $1}' | xargs kill -9 || true # Ruby +# shellcheck disable=SC2009 ps -C ruby -o pid=,cmd= | grep 'qps/worker.rb' | awk '{print $1}' | xargs kill -9 || true # Python +# shellcheck disable=SC2009 ps -C python -o pid=,cmd= | grep 'qps_worker.py' | awk '{print $1}' | xargs kill -9 || true # Java diff --git a/tools/run_tests/performance/process_local_perf_flamegraphs.sh b/tools/run_tests/performance/process_local_perf_flamegraphs.sh index d0c22f2070..ccb5b19f2a 100755 --- a/tools/run_tests/performance/process_local_perf_flamegraphs.sh +++ b/tools/run_tests/performance/process_local_perf_flamegraphs.sh @@ -13,13 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -mkdir -p $OUTPUT_DIR +mkdir -p "$OUTPUT_DIR" -PERF_DATA_FILE=${PERF_BASE_NAME}-perf.data -PERF_SCRIPT_OUTPUT=${PERF_BASE_NAME}-out.perf +PERF_DATA_FILE="${PERF_BASE_NAME}-perf.data" +PERF_SCRIPT_OUTPUT="${PERF_BASE_NAME}-out.perf" # Generate Flame graphs echo "running perf script on $PERF_DATA_FILE" -perf script -i $PERF_DATA_FILE > $PERF_SCRIPT_OUTPUT +perf script -i "$PERF_DATA_FILE" > "$PERF_SCRIPT_OUTPUT" -~/FlameGraph/stackcollapse-perf.pl $PERF_SCRIPT_OUTPUT | ~/FlameGraph/flamegraph.pl > ${OUTPUT_DIR}/${OUTPUT_FILENAME}.svg +~/FlameGraph/stackcollapse-perf.pl "$PERF_SCRIPT_OUTPUT" | ~/FlameGraph/flamegraph.pl > "${OUTPUT_DIR}/${OUTPUT_FILENAME}.svg" diff --git a/tools/run_tests/performance/process_remote_perf_flamegraphs.sh b/tools/run_tests/performance/process_remote_perf_flamegraphs.sh index a0c4f6ff32..2ea6b4f2a6 100755 --- a/tools/run_tests/performance/process_remote_perf_flamegraphs.sh +++ b/tools/run_tests/performance/process_remote_perf_flamegraphs.sh @@ -13,17 +13,18 @@ # See the License for the specific language governing permissions and # limitations under the License. -mkdir -p $OUTPUT_DIR +mkdir -p "$OUTPUT_DIR" -PERF_DATA_FILE=${PERF_BASE_NAME}-perf.data -PERF_SCRIPT_OUTPUT=${PERF_BASE_NAME}-out.perf +PERF_DATA_FILE="${PERF_BASE_NAME}-perf.data" +PERF_SCRIPT_OUTPUT="${PERF_BASE_NAME}-out.perf" # Generate Flame graphs echo "running perf script on $USER_AT_HOST with perf.data" -ssh $USER_AT_HOST "cd ~/performance_workspace/grpc && perf script -i $PERF_DATA_FILE | gzip > ${PERF_SCRIPT_OUTPUT}.gz" +# shellcheck disable=SC2029 +ssh "$USER_AT_HOST" "cd ~/performance_workspace/grpc && perf script -i $PERF_DATA_FILE | gzip > ${PERF_SCRIPT_OUTPUT}.gz" -scp $USER_AT_HOST:~/performance_workspace/grpc/$PERF_SCRIPT_OUTPUT.gz . +scp "$USER_AT_HOST:~/performance_workspace/grpc/$PERF_SCRIPT_OUTPUT.gz" . -gzip -d -f $PERF_SCRIPT_OUTPUT.gz +gzip -d -f "$PERF_SCRIPT_OUTPUT.gz" -~/FlameGraph/stackcollapse-perf.pl --kernel $PERF_SCRIPT_OUTPUT | ~/FlameGraph/flamegraph.pl --color=java --hash > ${OUTPUT_DIR}/${OUTPUT_FILENAME}.svg +~/FlameGraph/stackcollapse-perf.pl --kernel "$PERF_SCRIPT_OUTPUT" | ~/FlameGraph/flamegraph.pl --color=java --hash > "${OUTPUT_DIR}/${OUTPUT_FILENAME}.svg" diff --git a/tools/run_tests/performance/remote_host_build.sh b/tools/run_tests/performance/remote_host_build.sh index 75352e9220..862bd6c05f 100755 --- a/tools/run_tests/performance/remote_host_build.sh +++ b/tools/run_tests/performance/remote_host_build.sh @@ -15,7 +15,8 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # execute the build script remotely +# shellcheck disable=SC2029 ssh "${USER_AT_HOST}" "CONFIG=${CONFIG} ~/performance_workspace/grpc/tools/run_tests/performance/build_performance.sh $*" diff --git a/tools/run_tests/performance/remote_host_prepare.sh b/tools/run_tests/performance/remote_host_prepare.sh index bf91acbddf..d69c85b40e 100755 --- a/tools/run_tests/performance/remote_host_prepare.sh +++ b/tools/run_tests/performance/remote_host_prepare.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # TODO(jtattermusch): To be sure there are no running processes that would # mess with the results, be rough and reboot the slave here @@ -24,7 +24,7 @@ ssh "${USER_AT_HOST}" "killall -9 qps_worker dotnet mono node ruby worker || tru # On Windows, killall is not supported & we need to kill all pending workers # before attempting to delete the workspace -ssh "${USER_AT_HOST}" "ps -e | egrep 'qps_worker|dotnet' | awk '{print $1}' | xargs kill -9 || true" +ssh "${USER_AT_HOST}" "ps -e | egrep 'qps_worker|dotnet' | awk '{print \$1}' | xargs kill -9 || true" # cleanup after previous builds ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace" @@ -36,4 +36,5 @@ scp ../grpc.tar "${USER_AT_HOST}:~/performance_workspace" ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace || tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace" # For consistency with local run, invoke the kill_workers script remotely. +# shellcheck disable=SC2088 ssh "${USER_AT_HOST}" "~/performance_workspace/grpc/tools/run_tests/performance/kill_workers.sh" diff --git a/tools/run_tests/performance/run_netperf.sh b/tools/run_tests/performance/run_netperf.sh index b415ede529..2a32051dac 100755 --- a/tools/run_tests/performance/run_netperf.sh +++ b/tools/run_tests/performance/run_netperf.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." netperf >netperf_latency.txt -P 0 -t TCP_RR -H "$NETPERF_SERVER_HOST" -- -r 1,1 -o P50_LATENCY,P90_LATENCY,P99_LATENCY diff --git a/tools/run_tests/performance/run_qps_driver.sh b/tools/run_tests/performance/run_qps_driver.sh index 1851632da1..2d9e310dec 100755 --- a/tools/run_tests/performance/run_qps_driver.sh +++ b/tools/run_tests/performance/run_qps_driver.sh @@ -15,7 +15,7 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." bins/opt/qps_json_driver "$@" diff --git a/tools/run_tests/performance/run_worker_csharp.sh b/tools/run_tests/performance/run_worker_csharp.sh index e2e941f34a..6546d6010b 100755 --- a/tools/run_tests/performance/run_worker_csharp.sh +++ b/tools/run_tests/performance/run_worker_csharp.sh @@ -15,9 +15,9 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # needed to correctly locate testca cd src/csharp/Grpc.IntegrationTesting.QpsWorker/bin/Release/netcoreapp1.0 -dotnet exec Grpc.IntegrationTesting.QpsWorker.dll $@ +dotnet exec Grpc.IntegrationTesting.QpsWorker.dll "$@" diff --git a/tools/run_tests/performance/run_worker_go.sh b/tools/run_tests/performance/run_worker_go.sh index 6d8abb4147..f8e821a265 100755 --- a/tools/run_tests/performance/run_worker_go.sh +++ b/tools/run_tests/performance/run_worker_go.sh @@ -15,8 +15,8 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." export GOPATH=$(pwd)/../gopath -${GOPATH}/bin/worker $@ +"${GOPATH}/bin/worker" "$@" diff --git a/tools/run_tests/performance/run_worker_java.sh b/tools/run_tests/performance/run_worker_java.sh index 039a9618e1..cff6faf680 100755 --- a/tools/run_tests/performance/run_worker_java.sh +++ b/tools/run_tests/performance/run_worker_java.sh @@ -16,9 +16,9 @@ set -ex # Enter repo root -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # Enter the grpc-java repo root (expected to be next to grpc repo root) cd ../grpc-java -benchmarks/build/install/grpc-benchmarks/bin/benchmark_worker $@ +benchmarks/build/install/grpc-benchmarks/bin/benchmark_worker "$@" diff --git a/tools/run_tests/performance/run_worker_php.sh b/tools/run_tests/performance/run_worker_php.sh index 8c7ceef2ff..2fe2493e60 100755 --- a/tools/run_tests/performance/run_worker_php.sh +++ b/tools/run_tests/performance/run_worker_php.sh @@ -16,8 +16,8 @@ source ~/.rvm/scripts/rvm set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." # The proxy worker for PHP is implemented in Ruby -ruby src/ruby/qps/proxy-worker.rb $@ +ruby src/ruby/qps/proxy-worker.rb "$@" diff --git a/tools/run_tests/performance/run_worker_python.sh b/tools/run_tests/performance/run_worker_python.sh index cd7d0ebbae..01241c8296 100755 --- a/tools/run_tests/performance/run_worker_python.sh +++ b/tools/run_tests/performance/run_worker_python.sh @@ -15,6 +15,6 @@ set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." -PYTHONPATH=src/python/grpcio_tests:src/python/gens py27/bin/python src/python/grpcio_tests/tests/qps/qps_worker.py $@ +PYTHONPATH=src/python/grpcio_tests:src/python/gens py27/bin/python src/python/grpcio_tests/tests/qps/qps_worker.py "$@" diff --git a/tools/run_tests/performance/run_worker_ruby.sh b/tools/run_tests/performance/run_worker_ruby.sh index db8a7d8cd6..729c5cec97 100755 --- a/tools/run_tests/performance/run_worker_ruby.sh +++ b/tools/run_tests/performance/run_worker_ruby.sh @@ -16,6 +16,6 @@ source ~/.rvm/scripts/rvm set -ex -cd $(dirname $0)/../../.. +cd "$(dirname "$0")/../../.." -ruby src/ruby/qps/worker.rb $@ +ruby src/ruby/qps/worker.rb "$@" |