root / plot.py @ 28f33eaa
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) |