Files
weave-scope/extras/dialer/dialer
Alban Crequy ddf654fdf2 extras/dialer: updates and fixes
* remove randomness as far as possible
* make listener to close connections
* report time in a csv-friendly format
* remove tools from README
* rename time-scope-probe -> time-scope-probe-proc
* add time-scope-probe-cgroup
2017-03-30 07:30:28 +02:00

32 lines
716 B
Bash
Executable File

#!/bin/bash
set -eu
if [ $# -lt 1 ]; then
echo "Usage: $0 <ip:port> [<max_dialer> [<random_seed>]]" >&2
exit 1
fi
readonly addr=$1
readonly max_dialer=${2:-50}
if [[ $# -gt 2 ]]; then
RANDOM=$3
fi
dialer=()
# shellcheck disable=SC2154
trap 'echo -n "stopping ... "; for c in "${dialer[@]}"; do docker rm -f "$c" >/dev/null; done; echo "done"' EXIT
while true; do
dialer+=("$(docker run -d dialer /go/bin/dialer connect "$addr" "10")")
if [ ${#dialer[@]} -gt "$max_dialer" ]; then
rand=$(((RANDOM % max_dialer) + 1))
container=${dialer[$rand]}
docker rm -f "$container" >/dev/null &
unset dialer[$rand]
dialer=("${dialer[@]}")
fi
sleep 2
done