diff options
Diffstat (limited to 'scripts/docker/files/bin/run-client-perf.sh')
-rwxr-xr-x | scripts/docker/files/bin/run-client-perf.sh | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/scripts/docker/files/bin/run-client-perf.sh b/scripts/docker/files/bin/run-client-perf.sh deleted file mode 100755 index 01b27b98..00000000 --- a/scripts/docker/files/bin/run-client-perf.sh +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh - -# Start a soledad-perf test using a remote server. -# -# The script does the following: -# -# - configure a remote repository for soledad repo if SOLEDAD_REMOTE is set. -# -# - checkout a specific branch if SOLEDAD_BRANCH is set. -# -# - run the soledad-perf local twisted server that runs the client. Note -# that the actual soledad server should be running on another docker -# container. This local server is only used to measure responsiveness of -# soledad client. The script waits for the server to come up before -# continuing, or else times out after TIMEOUT seconds. -# -# - trigger the creation of documents for sync. -# -# - start the measurement of server responsiveness and sync stages. -# -# - stop the test. -# -# This script is meant to be copied to the docker container and run upon -# container start. - -CMD="/usr/local/soledad/setup-test-env.py" -REPO="/var/local/soledad" -TIMEOUT=20 - -#----------------------------------------------------------------------------- -# configure a remote and checkout a branch -#----------------------------------------------------------------------------- - -if [ ! -z "${SOLEDAD_REMOTE}" ]; then - git -C ${REPO} remote set-url origin ${SOLEDAD_REMOTE} - git -C ${REPO} fetch origin -fi - -if [ ! -z "${SOLEDAD_BRANCH}" ]; then - git -C ${REPO} checkout ${SOLEDAD_BRANCH} -fi - -if [ ! -z "${SOLEDAD_PERF_REMOTE}" ]; then - git -C /var/local/soledad-perf remote set-url origin ${SOLEDAD_PERF_REMOTE} - git -C /var/local/soledad-perf fetch origin -fi - -if [ ! -z "${SOLEDAD_PERF_BRANCH}" ]; then - git -C /var/local/soledad-perf checkout ${SOLEDAD_PERF_BRANCH} -fi - -#----------------------------------------------------------------------------- -# write a configuration file for the perf test -#----------------------------------------------------------------------------- - -cd /var/local/soledad-perf - -cat > defaults.conf <<EOF -[server] -host = ${SOLEDAD_SERVER_URL} - -[client] -uuid = 1234567890abcdef -basedir = /tmp/soledad_client_test -passphrase = 12345678 - -[sync] -num_docs = ${SOLEDAD_PRELOAD_NUM} -payload = /tmp/payload -payload_size = ${SOLEDAD_PRELOAD_SIZE} -auth_token = an-auth-token - -[test] -stats_file = ./out/stats.json -EOF - -if [ "${1}" = "--drop-to-shell" ]; then - /bin/bash - exit 0 -fi - -#----------------------------------------------------------------------------- -# start the local server and wait for it to come up -#----------------------------------------------------------------------------- - -# start local test server on background -make soledad-sync-server | grep -v stats | grep -v ping & - -# wait for server until timeout -start=`date +%s` -elapsed=0 - -echo "Waiting for perf server to come up..." - -while [ ${elapsed} -lt ${TIMEOUT} ]; do - result=`curl -s http://127.0.0.1:8080/ping` - if [ ${?} -eq 0 -a "${result}" = "easy!" ]; then - echo "Perf server (running soledad client) is up!" - break - else - sleep 1 - fi - now=`date +%s` - elapsed=`expr ${now} - ${start}` -done - -# exit with an error code if timed out waiting for server -if [ ${elapsed} -ge ${TIMEOUT} ]; then - echo "Error: server unreachable at http://127.0.0.1:8080 after ${TIMEOUT} seconds." - exit 1 -fi - -#----------------------------------------------------------------------------- -# create docs and run test -#----------------------------------------------------------------------------- - -set -e - -# create documents in client -make trigger-create-docs - -# launch background series measurement -make measure-series > /dev/null & -sleep 5 # wait a bit for some data points - -# run a sync and generate a graph -make trigger-sync -make trigger-stop |