Statistiques
| Branche: | Révision :

root / plot.py @ master

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

1
#!/usr/bin/python
2

    
3
import matplotlib.pyplot as plt
4
import sys
5

    
6
def usage():
7
  print "Usage: %s [result_file_name] [graph_comment]" % sys.argv[0]
8
  sys.exit(1)
9

    
10
def load_result_file(filename):
11
  f=open(filename)
12
  first_line=True
13
  results={}
14

    
15
  for line in f:
16
    n_clients,values = line.split()[0],[int(v) for v in line.split()[1:]]
17
    if not values:
18
      break
19
    if first_line:
20
      data_nodes_list = values
21
      first_line=False
22
    elif values:
23
      n_clients=int(n_clients)
24
      results[n_clients]={}
25
      for n_data_nodes in data_nodes_list:
26
        v_index = data_nodes_list.index(n_data_nodes)
27
        if len(values)>v_index:
28
          results[n_clients][n_data_nodes]= values[v_index]
29

    
30
  f.close()
31
  return results
32

    
33

    
34
if __name__=="__main__":
35

    
36
  if len(sys.argv)<2:
37
    usage()
38
  else:
39
    filename = sys.argv[1]
40
  if len(sys.argv)>2:
41
    comment=sys.argv[2]
42
  else:
43
    comment=filename
44

    
45
  results = load_result_file(filename)
46

    
47
  for n_clients in results.keys():
48
    plt.plot(
49
        results[n_clients].keys(), \
50
        results[n_clients].values(), \
51
        linewidth=2.0, \
52
        label="%d clients" % n_clients \
53
        )
54

    
55
  plt.title(comment)
56
  plt.xlabel("Number of Data Nodes")
57
  plt.ylabel("DFS Aggregated Write Speed - MB/s")
58
  plt.axis([0, 16, 0, 2000])
59
  plt.grid(True)
60
  plt.legend(loc='upper right')
61

    
62
  plt.savefig(filename+".png", bbox_inches=0)
63