mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 18:20:27 +00:00
* 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
32 lines
716 B
Bash
Executable File
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
|