mirror of
https://github.com/OkaeriPoland/okaeri-timings.git
synced 2026-01-18 03:28:20 +01:00
Implement otimings client report loop
This commit is contained in:
@@ -45,6 +45,51 @@ print_data() {
|
|||||||
echo "$timestamp,$user,$nice,$system,$idle,$iowait,$irq,$softirq,$steal,$guest,$guest_nice,$memtotal,$memfree,$memavailable,$membuffers,$memcached,$swapcached,$swaptotal,$swapfree"
|
echo "$timestamp,$user,$nice,$system,$idle,$iowait,$irq,$softirq,$steal,$guest,$guest_nice,$memtotal,$memfree,$memavailable,$membuffers,$memcached,$swapcached,$swaptotal,$swapfree"
|
||||||
}
|
}
|
||||||
|
|
||||||
print_metadata
|
dump_delay=60
|
||||||
print_header
|
dump_cycles="$((${1-5}))"
|
||||||
print_data
|
dump_file="okaeri-timings-$(date +%s).csv"
|
||||||
|
|
||||||
|
if [ "$dump_cycles" -lt 5 ]; then
|
||||||
|
echo "Report duration cannot be shorter than 5 minutes!"
|
||||||
|
else
|
||||||
|
echo "[$(date '+%Y/%m/%d %H:%M:%S')] Saving data to $dump_file"
|
||||||
|
print_metadata > "$dump_file"
|
||||||
|
print_header >> "$dump_file"
|
||||||
|
|
||||||
|
i=0
|
||||||
|
while [ "$i" -lt "$dump_cycles" ]; do
|
||||||
|
print_data >> "$dump_file"
|
||||||
|
i=$(( i + 1 ))
|
||||||
|
# spinner - start
|
||||||
|
if [ "$i" -ne "$dump_cycles" ]; then
|
||||||
|
j=0
|
||||||
|
l=0
|
||||||
|
while [ "$j" -lt "$dump_delay" ]; do
|
||||||
|
j=$(( j + 1 ))
|
||||||
|
l=$(( l + 1 ))
|
||||||
|
case "$l" in
|
||||||
|
1)
|
||||||
|
spinner="◢"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
spinner="◣"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
spinner="◤"
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
spinner="◥"
|
||||||
|
l=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf "[$(date '+%Y/%m/%d %H:%M:%S')] Progress: $i/$dump_cycles ($spinner)\r"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
# spinner - end
|
||||||
|
printf "[$(date '+%Y/%m/%d %H:%M:%S')] Progress: $i/$dump_cycles (✓)\r"
|
||||||
|
printf "\n"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[$(date '+%Y/%m/%d %H:%M:%S')] Done!"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user