summaryrefslogtreecommitdiff
path: root/scripts/docker/files/bin/run-client-perf.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/docker/files/bin/run-client-perf.sh')
-rwxr-xr-xscripts/docker/files/bin/run-client-perf.sh128
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