blob: 8f084747dec82207bf268af4fe4678e173d712df [file] [log] [blame]
#!/bin/bash
# Runs a perf instance against the given spanner database.
# First delete any existing docker containers to start clean.
sudo docker ps -q | xargs -r sudo docker rm -vf
# Now let's get all the arguments passed in.
for arg in "$@"
do
argKey=$(echo $arg | cut -f1 -d=)
keyLen=${#argKey}
val="${arg:$keyLen+1}"
export "$argKey"="$val"
done
# Potentially incorporate into args if using different instances.
domain="chromium.googlesource.com"
repo="chromium/src"
echo "Using the following params: -p=$p -i=$i -d=$d -config=$config"
# Now let's run pgadapter connected to the supplied spanner database.
sudo docker run -d -p 127.0.0.1:5432:5432 \
-v $HOME/.config/gcloud/application_default_credentials.json:/acct_credentials.json \
gcr.io/cloud-spanner-pg-adapter/pgadapter:latest \
-p $p -i $i -d $d -c /acct_credentials.json -x
# Now that pgadapter is connected to the spanner instance, let's run the local frontend
# pointed to pgadapter using the supplied config file.
bazelisk build --config=mayberemote -c dbg //perf/...
../_bazel_bin/perf/go/perfserver/perfserver_/perfserver frontend \
--local \
--do_clustering=false \
--port=:8002 \
--prom_port=:20001 \
--config_filename=$config \
--display_group_by=false \
--disable_metrics_update=true \
--resources_dir=../_bazel_bin/perf/pages/development/ \
--connection_string=postgresql://root@127.0.0.1:5432/${d}?sslmode=disable \
--commit_range_url=https://${domain}/${repo}/+log/{begin}..{end}