#!/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 < /dev/null & sleep 5 # wait a bit for some data points # run a sync and generate a graph make trigger-sync make trigger-stop