📄 delay.awk
字号:
# 使用的是无线trace的旧格式
BEGIN {
highest_packet_id = 0;
i=0;
}
{
action = $1;
time = $2;
packet_id = $6;
type = $7;
# 不考虑路由包,可以保证序号为0的cbr被统计到
if ( type == "cbr" ) {
if ( packet_id > highest_packet_id )
highest_packet_id = packet_id;
#记录封包的传送时间
if ( start_time[packet_id] == 0 )
start_time[packet_id] = time;
#记录CBR 的接收时间
if ( action != "d" ) {
if ( action == "r" ) {
end_time[packet_id] = time;
}
} else {
#把不符合条件的数据包的时间设为-1
end_time[packet_id] = -1;
}
}
}
END {
#当资料列全部读取完后,开始计算有效封包的端点到端点延迟时间
for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {
start = start_time[packet_id];
end = end_time[packet_id];
packet_duration = end - start;
#只把接收时间大于传送时间的记录列出来
if ( start < end ){
delaysum += packet_duration;
i++;
ratio=delaysum/i;
printf("%f %f\n",start, ratio);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -