From 05e4d6bf6c446ce9820665a8b1ec6bcc263533b3 Mon Sep 17 00:00:00 2001 From: Yaro Kasear Date: Thu, 10 Apr 2025 08:47:15 -0500 Subject: [PATCH] Collect and store start and end timestamps. --- runtest.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runtest.sh b/runtest.sh index 2ded9ec..7370ce5 100755 --- a/runtest.sh +++ b/runtest.sh @@ -43,13 +43,15 @@ FAILED_START=$(get_tx_failed) # Create CSV header if needed if [ ! -f "$TEST_FILE" ]; then - echo "Link,Level,Noise,BSSID,TX Bitrate,RX Bitrate,$(speedtest --csv-header),TX Failures,Channel,Frequency,Packet Loss,Jitter" > "$TEST_FILE" + echo "StartTimestamp,EndTimestamp,Link,Level,Noise,BSSID,TX Bitrate,RX Bitrate,$(speedtest --csv-header),TX Failures,Channel,Frequency,Packet Loss,Jitter" > "$TEST_FILE" fi while [ "$COUNTER" -lt "$NUM_TESTS" ]; do COUNTER=$((COUNTER + 1)) echo "Executing test $COUNTER of $NUM_TESTS..." + START_TIME=$(date -Iseconds) + for ((i=1; i<=NUM_SAMPLES; i++)); do echo " Gathering sample $i of $NUM_SAMPLES..." @@ -71,8 +73,10 @@ while [ "$COUNTER" -lt "$NUM_TESTS" ]; do packet_loss=$(ping -c $PING_COUNT -q $PING_TARGET | grep -oP '\d+(?=% packet loss)') jitter=$(ping -c $PING_COUNT $PING_TARGET | grep "time=" | awk '{print $(NF-1)}' | sed 's/time=//g' | awk '{sum+=$1; sumsq+=$1*$1} END {if (NR>1) print sqrt(sumsq/NR - (sum/NR)**2); else print 0}') + END_TIME=$(date -Iseconds) + # Log everything - echo "$link_level_noise,$bssid_and_bitrate,$speed_results,$FAILED_DELTA,$channel,$freq,$packet_loss,$jitter" >> "$TEST_FILE" + echo "$START_TIME,$END_TIME,$link_level_noise,$bssid_and_bitrate,$speed_results,$FAILED_DELTA,$channel,$freq,$packet_loss,$jitter" >> "$TEST_FILE" done if [ "$COUNTER" -lt "$NUM_TESTS" ]; then