Dir hocine,
this awk to find average end to end delay for normal trace file,
# ===================================================================
# AWK Script for calculating:
# => Average End-to-End Delay.
# ===================================================================
BEGIN {
seqno = -1;
# droppedPackets = 0;
# receivedPackets = 0;
count = 0;
}
{
if($5 == "tcp" && $1 == "+" && seqno < $11) {
seqno = $11;
}
# else if(($4 == "AGT") && ($1 == "r"))
{
# receivedPackets++;
# } else if ($1 == "D" && $7 == "tcp" && $8 > 512){
# droppedPackets++;
# }
#end-to-end delay
if($5 == "tcp" && $1 == "+") {
start_time[$6] = $2;
} else if(($5 == "tcp") && ($1 == "r")) {
end_time[$11] = $2;
} else if($1 == "d" && $5 == "tcp") {
end_time[$11] = -1;
}
}
END {
for(i=0; i<=seqno; i++) {
if(end_time[i] > 0) {
delay[i] = end_time[i] - start_time[i];
count++;
}
else
{
delay[i] = -1;
}
}
for(i=0; i<=seqno; i++) {
if(delay[i] > 0)
{
n_to_n_delay = n_to_n_delay + delay[i];
}
}
n_to_n_delay = n_to_n_delay/count;
print "\n";
#print "GeneratedPackets = " seqno+1;
#print "ReceivedPackets = " receivedPackets;
#print "Packet Delivery Ratio = " receivedPackets/(seqno+1)*100 "%";
#print "Total Dropped Packets = " droppedPackets;
print "Average End-to-End Delay = " n_to_n_delay * 1000 " ms";
print
"\n";
}
thanks,
muntadher isam