github.com/redhat-appstudio/e2e-tests@v0.0.0-20230619105049-9a422b2094d7/tests/load-tests/ci-scripts/load-test.sh (about) 1 #!/bin/bash 2 3 set -o nounset 4 set -o errexit 5 set -o pipefail 6 7 # shellcheck disable=SC1090 8 source "/usr/local/ci-secrets/redhat-appstudio-load-test/load-test-scenario.${1:-concurrent}" 9 10 pushd "${2:-./tests/load-tests}" 11 12 export QUAY_E2E_ORGANIZATION MY_GITHUB_ORG GITHUB_TOKEN 13 QUAY_E2E_ORGANIZATION=$(cat /usr/local/ci-secrets/redhat-appstudio-load-test/quay-org) 14 MY_GITHUB_ORG=$(cat /usr/local/ci-secrets/redhat-appstudio-load-test/github-org) 15 16 rate_limits_csv=./gh-rate-limits-remaining.csv 17 18 echo "Starting a watch for GH rate limits remainig" 19 IFS="," read -ra kvs <<<"$(cat /usr/local/ci-secrets/redhat-appstudio-load-test/github_accounts)" 20 echo -n "Time" >"$rate_limits_csv" 21 for kv in "${kvs[@]}"; do 22 IFS=":" read -ra name_token <<<"$kv" 23 echo -n ";${name_token[0]}" >>"$rate_limits_csv" 24 done 25 echo >>"$rate_limits_csv" 26 27 while true; do 28 timestamp=$(printf "%s" "$(date -u +'%FT%T')") 29 echo -n "$timestamp" >>"$rate_limits_csv" 30 for kv in "${kvs[@]}"; do 31 IFS=":" read -ra name_token <<<"$kv" 32 rate=$(curl -s -H "Accept: application/vnd.github+json" -H "Authorization: token ${name_token[1]}" -H "X-GitHub-Api-Version: 2022-11-28" 'https://api.github.com/rate_limit' | jq -rc '(.rate.remaining|tostring)') 33 echo -n ";$rate" >>"$rate_limits_csv" 34 done 35 echo >>"$rate_limits_csv" 36 sleep 10s 37 done & 38 39 rate_limit_exit=$! 40 kill_rate_limits() { 41 echo "Stopping the watch for GH rate limits remainig" 42 kill $rate_limit_exit 43 } 44 trap kill_rate_limits EXIT 45 46 ./run.sh 47 48 popd