20 lines
830 B
Bash
20 lines
830 B
Bash
#!/bin/bash
|
|
# this script converts the output of the "forge tps" command (in the form of the .forgetps file) into json for sending to influxdb
|
|
# by default it reads from stdin and outputs to a .forgetps.json file
|
|
while IFS= read -r line; do
|
|
if [ "$line" != "" ]; then
|
|
DIM=$(echo -n "$line" | awk '{print $2}')
|
|
if [ "$DIM" = "Mean" ]; then
|
|
DIM="Overall"
|
|
fi
|
|
TPT=$(echo "$line" | grep -oE 'Mean tick time: .+ms' | awk '{print $4}')
|
|
TPS=$(echo "$line" | grep -oE 'Mean TPS: .+' | awk '{print $3}')
|
|
JSON+=\{$(echo \"dim\":\"$DIM\",\"tpt\":$TPT,\"tps\":$TPS)\},
|
|
fi
|
|
#done < .forgetps # inputs from .forgetps file
|
|
done <$1 # inputs from file passed via stdin
|
|
JSON=$(echo ${JSON} | sed 's/,$//')
|
|
|
|
#echo [${JSON}] >&1 # outputs to stdout
|
|
echo [${JSON}] > .forgetps.json # uncomment this to output to file
|