Statistiques
| Branche: | Révision :

root / plot.py @ master

Historique | Voir | Annoter | Télécharger (1,35 ko)

1 90924153 Simon Delamare
#!/usr/bin/python
2 90924153 Simon Delamare
3 90924153 Simon Delamare
import matplotlib.pyplot as plt
4 90924153 Simon Delamare
import sys
5 90924153 Simon Delamare
6 90924153 Simon Delamare
def usage():
7 90924153 Simon Delamare
  print "Usage: %s [result_file_name] [graph_comment]" % sys.argv[0]
8 90924153 Simon Delamare
  sys.exit(1)
9 90924153 Simon Delamare
10 90924153 Simon Delamare
def load_result_file(filename):
11 90924153 Simon Delamare
  f=open(filename)
12 90924153 Simon Delamare
  first_line=True
13 90924153 Simon Delamare
  results={}
14 90924153 Simon Delamare
15 90924153 Simon Delamare
  for line in f:
16 90924153 Simon Delamare
    n_clients,values = line.split()[0],[int(v) for v in line.split()[1:]]
17 90924153 Simon Delamare
    if not values:
18 90924153 Simon Delamare
      break
19 90924153 Simon Delamare
    if first_line:
20 90924153 Simon Delamare
      data_nodes_list = values
21 90924153 Simon Delamare
      first_line=False
22 90924153 Simon Delamare
    elif values:
23 90924153 Simon Delamare
      n_clients=int(n_clients)
24 90924153 Simon Delamare
      results[n_clients]={}
25 90924153 Simon Delamare
      for n_data_nodes in data_nodes_list:
26 90924153 Simon Delamare
        v_index = data_nodes_list.index(n_data_nodes)
27 90924153 Simon Delamare
        if len(values)>v_index:
28 90924153 Simon Delamare
          results[n_clients][n_data_nodes]= values[v_index]
29 90924153 Simon Delamare
30 90924153 Simon Delamare
  f.close()
31 90924153 Simon Delamare
  return results
32 90924153 Simon Delamare
33 90924153 Simon Delamare
34 90924153 Simon Delamare
if __name__=="__main__":
35 90924153 Simon Delamare
36 90924153 Simon Delamare
  if len(sys.argv)<2:
37 90924153 Simon Delamare
    usage()
38 90924153 Simon Delamare
  else:
39 90924153 Simon Delamare
    filename = sys.argv[1]
40 90924153 Simon Delamare
  if len(sys.argv)>2:
41 90924153 Simon Delamare
    comment=sys.argv[2]
42 90924153 Simon Delamare
  else:
43 90924153 Simon Delamare
    comment=filename
44 90924153 Simon Delamare
45 90924153 Simon Delamare
  results = load_result_file(filename)
46 90924153 Simon Delamare
47 90924153 Simon Delamare
  for n_clients in results.keys():
48 90924153 Simon Delamare
    plt.plot(
49 90924153 Simon Delamare
        results[n_clients].keys(), \
50 90924153 Simon Delamare
        results[n_clients].values(), \
51 90924153 Simon Delamare
        linewidth=2.0, \
52 90924153 Simon Delamare
        label="%d clients" % n_clients \
53 90924153 Simon Delamare
        )
54 90924153 Simon Delamare
55 90924153 Simon Delamare
  plt.title(comment)
56 90924153 Simon Delamare
  plt.xlabel("Number of Data Nodes")
57 28f33eaa Simon Delamare
  plt.ylabel("DFS Aggregated Write Speed - MB/s")
58 90924153 Simon Delamare
  plt.axis([0, 16, 0, 2000])
59 90924153 Simon Delamare
  plt.grid(True)
60 90924153 Simon Delamare
  plt.legend(loc='upper right')
61 90924153 Simon Delamare
62 90924153 Simon Delamare
  plt.savefig(filename+".png", bbox_inches=0)