Advertisement
Guest User

WBMv6 preliminary netperf parse

a guest
Jul 31st, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.36 KB | None | 0 0
  1. # to be run over the battlemesh netperf data, like:
  2. # ./np_parse.py "netperf_test3/screenlog.netperf"
  3.  
  4. # here's the uuuugly code
  5. # cat np_parse.py
  6.  
  7. #!/usr/bin/python3
  8.  
  9. # doc de los atributos de graphviz
  10. # http://www.graphviz.org/doc/info/attrs.html
  11.  
  12. import sys
  13. from subprocess import getoutput
  14.  
  15. if __name__== '__main__':
  16.     np_filename = sys.argv[1]
  17.     np_file = open(np_filename).read()
  18.     protocols = ['batadv', 'babel', 'olsr', 'bmx6']
  19.     ordered_protos = []
  20.     for proto in protocols:
  21.         pos = np_file.find(proto)
  22.         ordered_protos.append([pos, proto])
  23.        
  24.     ordered_protos = sorted(ordered_protos)
  25.     averages = []
  26.         #    print(ordered_protos)
  27.     proto_max = 0
  28.     for  i in range(len(ordered_protos)):
  29.         proto = ordered_protos[i][1]
  30.         if i == len(ordered_protos)-1:
  31.             grep_for = ordered_protos[0][1]
  32.         else:
  33.             grep_for = ordered_protos[i+1][1]
  34.         command = "cat %s | grep %s -B 2 | grep 87380 |  awk '{print $5}'" % (np_filename, grep_for)
  35.         throughput_list = getoutput(command).split()
  36.         throughputs = [ float(throughput) for throughput in throughput_list ]
  37.         average = sum(throughputs)/len(throughputs)
  38.         #        print(proto, average)
  39.         averages.append([proto, average, len(throughputs), max(throughputs)])
  40.     print(sorted(averages))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement