summaryrefslogtreecommitdiff
path: root/scripts/docker/files/bin/run-client-perf.sh
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-04-19 10:18:27 +0200
committerdrebs <drebs@leap.se>2017-04-19 11:49:42 +0200
commit40f2cb8b1f07b1346e01ff69b57e14c492f1cd0b (patch)
tree9cab2f54014ffb7a56e1d75fd5ef0a70369afd63 /scripts/docker/files/bin/run-client-perf.sh
parenta4558ea4874e0de3561f228b41ef0a94a2e4c326 (diff)
[test] remove docker scripts from this repo
Docker scripts are only used for CI and do not need to be in this repository. Beause of that, we decided to moved the docker scripts to a private repository where dockerfiles for other parts of leap also live.
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