1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#!/usr/bin/gawk -f
{
time = $2;
saddr = $4;
sport = $6;
daddr = $8;
dport = $10;
hiack = $14;
cwnd = $18;
ssthresh = $20;
srtt = $26;
rttvar = $28;
s = sprintf("%d%c%d%c%d%c%d", saddr, SUBSEP, sport, SUBSEP, daddr, SUBSEP, dport);
if (time >= starttime && time <= endtime) {
if (!(s in startack)) {
startack[s] = hiack;
}
if (hiack > endack[s]) {
endack[s] = hiack;
}
}
}
END {
for (s in startack) {
split(s,a,SUBSEP);
saddr = a[1];
sport = a[2];
daddr = a[3];
dport = a[4];
if (sport != 0)
printf "(%d,%d)->(%d,%d) %g\n", saddr, sport, daddr, dport, (endack[s]-startack[s])*8/(endtime-starttime);
}
}
|