diff options
author | drebs <drebs@leap.se> | 2016-06-10 22:07:35 -0300 |
---|---|---|
committer | drebs <drebs@leap.se> | 2016-06-22 17:51:18 -0300 |
commit | 78d61dfaadf9bcac7258a33738c660b238b7bf27 (patch) | |
tree | 9cb2797e0cf0b09335be32d4f54b1e6d583a9558 /scripts/docker/files/run-perf-test.sh | |
parent | e14f17247ce03f1c49cab3c944039ff9aba84f64 (diff) |
[test] refactor of docker scripts
Diffstat (limited to 'scripts/docker/files/run-perf-test.sh')
-rwxr-xr-x | scripts/docker/files/run-perf-test.sh | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/scripts/docker/files/run-perf-test.sh b/scripts/docker/files/run-perf-test.sh deleted file mode 100755 index ebd54d23..00000000 --- a/scripts/docker/files/run-perf-test.sh +++ /dev/null @@ -1,124 +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/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 - -#----------------------------------------------------------------------------- -# 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 -make graph-image |