dynamics.pl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # requires either gnuplot.pl or xgraph.pl
  2. #
  3. %su = %lu = %sd = %ld = (); # su/sd are HoL arrays with semantics:
  4. # key %su/%sd is the link that went up/down
  5. # values %su/%sd is implicitly hashed
  6. # @{${su{link}}/@{$sd{link}} is the list
  7. #  of times link went up/down.
  8. # %lu/%ld are used to ensure that %su/%sd
  9. #  is unique.
  10. sub parseDynamics {
  11.     my(@F) = @_;
  12.     my($a, $b) = ($F[3], $F[4]);
  13.     ($a, $b) = ($b, $a) if ($a > $b);
  14.     if ($F[2] eq 'link-down') {
  15. if (! defined($lf{"$a:$b:$F[1]"})) {
  16.     push(@{$sd{"$a$b"}}, $F[1]);
  17.     $lf{"$a:$b:$F[1]"} = 1;
  18. }
  19. return;
  20.     }
  21.     if ($F[2] eq 'link-up') {
  22. if (! defined($lu{"$a:$b:$F[1]"})) {
  23.     push(@{$su{"$a$b"}}, $F[1]);
  24.     $lu{"$a:$b:$F[1]"} = 1;
  25. }
  26. return;
  27.     }
  28. }
  29. sub plotDynamics {
  30.     my($OUT, $minY, $maxY) = @_;
  31.     foreach $i (keys %sd) {
  32.         plotFails($OUT, $minY, $maxY, $i, @{$sd{$i}});
  33.     }
  34.     foreach $i (keys %su) {
  35.         plotRecov($OUT, $minY, $maxY, $i, @{$su{$i}});
  36.     }
  37. }
  38. 1;