BEGIN { setSize = ARGV[1]; ARGV[1] = ""; print "# Start-time End-time avg-pcket-loss avg-round-trip-time-msec" print "# Set size: " setSize; } /UTC/ { # Convert to epoch sec cmd = "java -cp ~/Desktop/Projects/Hotspot/tests/hotspot/java ConvertTime -format \"EEE MMM d H:m:s z y\"" " \"" $0 "\""; cmd | getline epochSec; close(cmd); if (nSent == 0) { startEpochSec = epochSec; } timeString = $0; } /bytes from/ { nSuccess++; # Get round-trip time tripTimeMsec = substr($7, 6); ## print tripTimeMsec; avgTripTimeMsec += tripTimeMsec; } /packet loss/ { pcktLoss = 1. - $4/$1; avgPcktLoss += pcktLoss; ## printf "packet loss: %d%%\n", pcktLoss * 100; if (++nSent == setSize) { nSent = 0; avgPcktLoss = avgPcktLoss / setSize; if (nSuccess > 0) { avgTripTimeMsec = avgTripTimeMsec / nSuccess; } else { avgTripTimeMsec = 999999.; } ### printf "avg packet loss: %d%%\n", avgPcktLoss * 100 ; printf "%d %d %.1f %.3f\n", startEpochSec, epochSec, avgPcktLoss, avgTripTimeMsec; avgPcktLoss = 0.; avgTripTimeMsec = 0.; nSuccess = 0; } }