Spaces:
Runtime error
Runtime error
File size: 2,083 Bytes
72f4be8 43ac953 1d9b90e 43ac953 72f4be8 1d9b90e 43ac953 1d9b90e 72f4be8 1d9b90e 43ac953 72f4be8 43ac953 1d9b90e 43ac953 72f4be8 1d9b90e 43ac953 1d9b90e 43ac953 1d9b90e 43ac953 1d9b90e 43ac953 1d9b90e 72f4be8 43ac953 1d9b90e 72f4be8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
#! /bin/env bash
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.hf.space/run/$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)"
|