#!/bin/perl
$infile=$ARGV[0];
$granularity=$ARGV[1];
$sum=0;
$sum_total=0;
$clock=0;
$maxrate=0;
$init=0;
$pktcnt=0;
$lastet=0;
#open file
open (DATA,"<$infile")
|| die "Can not open the $infile $!";
while (<DATA>) {
@x=split(' ');
if ($init==0) {
$start=$x[0];
$init=1;
}
if ($x[0]-$clock<=$granularity)
{
$sum=$sum+$x[1];
$pktcnt=$pktcnt+1;
$sum_total=$sum_total+$x[1];
$lastet=$x[0];
#print "$lastet-----$sum-----$pktcnt\n";
}
else
{
$avgrtt=$sum/$pktcnt;
$pktcnt=0;
if ($avgrtt>$maxrtt) {
$maxrtt=$avgrtt;
}
#print STDOUT "$x[1]:$avgrtt s\n";
#print "$x[0] $avgrtt s\n";
print "$lastet $avgrtt\n";
$clock=$clock+$granularity;
$sum_total=$sum_total+$x[1];
$sum=$x[1];
$pktcnt=1;
}
#compute the last average rtt
}
close DATA;
exit (0);
调用方式 perl thisfile.pl filename 0.1
pl脚本处理ns2的trace文件计算平均时延
最新推荐文章于 2022-04-02 17:00:38 发布