miniloadtester/send_requests.bash

28 lines
564 B
Bash
Raw Normal View History

2024-09-27 10:45:15 +00:00
#!/usr/bin/env bash
set -o nounset
set -o pipefail
if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace; fi
RATE_CHANGE_FACTOR=$1
IFS=" " read -r -a OPTS <<< $2
URL=${OPTS[0]}; METHOD=${OPTS[1]}; RATE=${OPTS[2]}; BODY=${OPTS[3]}
2024-10-03 09:45:06 +00:00
SLEEP_TIME=$(perl -e "print 60.0 / $RATE / $RATE_CHANGE_FACTOR")
2024-09-27 10:45:15 +00:00
2024-10-03 09:45:06 +00:00
send_req () {
COMMAND="curl -X $METHOD --header 'Content-Type: application/json' --data '$BODY' -s '$URL' -o /dev/null"
eval $COMMAND
2024-09-27 13:15:36 +00:00
if [ $? -eq 0 ]
then
printf '%s' "."
else
printf '%s' "x"
fi
2024-10-03 09:45:06 +00:00
}
until false
do
send_req &
2024-09-27 10:45:15 +00:00
sleep $SLEEP_TIME
done
2024-10-03 09:45:06 +00:00