Add a mode for warming up the proxy cache before a synthetic benchmark
[bluesky.git] / nfs3 / parse-synread.py
1 #!/usr/bin/python
2
3 import struct, sys
4
5 DATAPOINT = '<II'
6
7 def load_log(f):
8     data = []
9     size = struct.calcsize(DATAPOINT)
10     d = f.read(size)
11     while len(d) == size:
12         i = struct.unpack(DATAPOINT, d)
13         data.append(i)
14         d = f.read(size)
15     return data
16
17 if __name__ == '__main__':
18     data = []
19     for f in sys.argv[1:]:
20         data += load_log(open(f))
21     data.sort()
22
23     duration = data[-1][0] - data[0][0]
24     print "Time span: %d to %d (%d seconds)" % (data[0][0], data[-1][0], duration)
25
26     start = data[0][0] + 5
27     end = data[-1][0] - 5
28     truncated = [d for d in data if start <= d[0] <= end]
29     print len(data), len(truncated)
30     duration = float(end - start + 1)
31     print duration
32     print "Ops per second:", len(truncated) / duration
33     print "Bandwidth:", len(truncated) / duration * 1048576