笔记——用分析工具awk进行throughput测量

利用awk程序分析跟踪文件,从而对吞吐量进行分析。

下面的程序功能是测量CBR的吞吐量,这里所说的吞吐量是指的评价吞吐量。

BEGIN {
	init=0;
	i=0;
}
{
   action = $1;
   time = $2;
   from = $3;
   to = $4;
   type = $5;
   pktsize = $6;
   flow_id = $8;
   src = $9;
   dst = $10;
   seq_no = $11;
   packet_id = $12;
   
 	if(action=="r" && from==2 && to==3 && flow_id==2) {
 		pkt_byte_sum[i+1]=pkt_byte_sum[i]+ pktsize;
		
		if(init==0) {
			start_time = time;
			init = 1;
		}
		
		end_time[i] = time;
		i = i+1;
	}
}
END {
#为了画图好看,把第一条记录的吞吐量设为0,以表示传输开始
	printf("%.2f\t%.2f\n", end_time[0], 0);
	
	for(j=1 ; j<i ; j++){
#单位为kbps
		th = pkt_byte_sum[j] / (end_time[j] - start_time)*8/1000;
		printf("%.2f\t%.2f\n", end_time[j], th);
	}
#为了画图好看,把最后一条记录的吞吐量再设为0,以表示传输结束
	printf("%.2f\t%.2f\n", end_time[i-1], 0);
}

awk文件执行方法($为shell的提示符号):

$ awk-f measure-throughput.awk out.tr

若是要把执行结果存到文件中(即把结果存到cbr_throughput文件中),命令如下:

$ awk-f measure-throughput.awk out.tr > cbr_throughput

执行结果:

0.14  0.00
0.15  1000.00
0.15  1000.00
0.16  1000.00
……
发布了9 篇原创文章 · 获赞 10 · 访问量 297

猜你喜欢

转载自blog.csdn.net/weixin_45260393/article/details/105695355