|
|
|
|
@ -16,10 +16,41 @@ function doSpeedtest {
|
|
|
|
|
|
|
|
|
|
logScript "Doing internet speedtest${INTERFACE_TEXT}${SERVER_ID_TEXT}"
|
|
|
|
|
|
|
|
|
|
if ! OUT=$(speedtest -f json); then
|
|
|
|
|
if ! OUT=$(speedtest -f json 2>/dev/null); then
|
|
|
|
|
logError "Speedtest failed"
|
|
|
|
|
logError "${OUT}"
|
|
|
|
|
echo "${OUT}" | logError
|
|
|
|
|
|
|
|
|
|
SUCCESS=false
|
|
|
|
|
JITTER=-1
|
|
|
|
|
LATENCY=-1
|
|
|
|
|
PING_LOW=-1
|
|
|
|
|
PING_HIGH=-1
|
|
|
|
|
DOWNLOAD_BANDWIDTH=0
|
|
|
|
|
UPLOAD_BANDWIDTH=0
|
|
|
|
|
PACKET_LOSS=-1
|
|
|
|
|
ISP=""
|
|
|
|
|
INTERFACE=""
|
|
|
|
|
EXTERNAL_IP=""
|
|
|
|
|
SERVER_ID=""
|
|
|
|
|
RESULT_ID=""
|
|
|
|
|
else
|
|
|
|
|
echo
|
|
|
|
|
SUCCESS=true
|
|
|
|
|
JITTER=$(echo "${OUT}" | jq .ping.jitter)
|
|
|
|
|
LATENCY=$(echo "${OUT}" | jq .ping.latency)
|
|
|
|
|
PING_LOW=$(echo "${OUT}" | jq .ping.low)
|
|
|
|
|
PING_HIGH=$(echo "${OUT}" | jq .ping.high)
|
|
|
|
|
DOWNLOAD_BANDWIDTH=$(echo "${OUT}" | jq .download.bandwidth)
|
|
|
|
|
UPLOAD_BANDWIDTH=$(echo "${OUT}" | jq .upload.bandwidth)
|
|
|
|
|
PACKET_LOSS=$(echo "${OUT}" | jq .packetLoss)
|
|
|
|
|
ISP="$(echo "${OUT}" | jq .isp)"
|
|
|
|
|
INTERFACE=$(echo "${OUT}" | jq .interface.name)
|
|
|
|
|
EXTERNAL_IP=$(echo "${OUT}" | jq .interface.externalIp)
|
|
|
|
|
SERVER_ID=$(echo "${OUT}" | jq .server.id)
|
|
|
|
|
RESULT_ID=$(echo "${OUT}" | jq .result.id)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
writeData \
|
|
|
|
|
speedtest \
|
|
|
|
|
"sourceHost=$(hostname -f)" \
|
|
|
|
|
"success=${SUCCESS},jitter=${JITTER},latency=${LATENCY},ping_low=${PING_LOW},ping_high=${PING_HIGH},download_bandwidth=${DOWNLOAD_BANDWIDTH},upload_bandwidth=${UPLOAD_BANDWIDTH},packetloss=${PACKET_LOSS},isp=${ISP},interface=${INTERFACE},external_ip=${EXTERNAL_IP},server_id=${SERVER_ID},result_id=${RESULT_ID}"
|
|
|
|
|
}
|