Spaces:
Runtime error
Runtime error
LOG_FILE_NAME="call_history_bash.csv" | |
if [[ ! -f "$LOG_FILE_NAME" ]]; then | |
# Creation of column names if the file does not exits | |
echo "student_id;active_students;endpoint;inputs;outputs;started;finished" >$LOG_FILE_NAME | |
fi | |
data_list_1() { | |
responses=( | |
"one hundred forty five" | |
"twenty thousand nine hundred fifty" | |
"one hundred forty five" | |
"nine hundred eighty three" | |
"five million" | |
) | |
echo "${responses[$1]}" | |
} | |
data_list_2() { | |
responses=( | |
"Totally agree" | |
"I like it" | |
"No more" | |
"I am not sure" | |
"Never" | |
) | |
echo "${responses[$1]}" | |
} | |
# endpoints: "text2int" "sentiment-analysis" | |
# selected endpoint to test | |
endpoint="sentiment-analysis" | |
create_random_delay() { | |
# creates a random delay for given arguments | |
echo "scale=8; $RANDOM/32768*$1" | bc | |
} | |
simulate_student() { | |
# Student simulator waits randomly between 0-10s after an interaction. | |
# Based on 100 interactions per student | |
for i in {1..100}; do | |
random_value=$((RANDOM % 5)) | |
text=$(data_list_2 $random_value) | |
data='{"data": ["'$text'"]}' | |
start_=$(date +"%F %T.%6N") | |
url="https://tangibleai-mathtext-fastapi.hf.space/$3" | |
response=$(curl --silent --connect-timeout 30 --max-time 30 -X POST "$url" -H 'Content-Type: application/json' -d "$data") | |
if [[ "$response" == *"Time-out"* ]]; then | |
echo "$response" >>bad_response.txt | |
response="504 Gateway Time-out" | |
elif [[ -z "$response" ]]; then | |
echo "No response" >>bad_response.txt | |
response="504 Gateway Time-out" | |
fi | |
end_=$(date +"%F %T.%6N") | |
printf "%s;%s;%s;%s;%s;%s;%s\n" "$1" "$2" "$3" "$data" "$response" "$start_" "$end_" >>$LOG_FILE_NAME | |
sleep "$(create_random_delay 10)" | |
done | |
} | |
echo "start: $(date)" | |
active_students=250 # the number of students using the system at the same time | |
i=1 | |
while [[ "$i" -le "$active_students" ]]; do | |
simulate_student "student$i" "$active_students" "$endpoint" & | |
sleep "$(create_random_delay 1)" # adding a random delay between students | |
i=$(("$i" + 1)) | |
done | |
wait | |
echo "end: $(date)" | |