improve parse_disk_log.py
This commit is contained in:
@@ -28,7 +28,8 @@ else:
|
|||||||
out = open('disk_io.dat', 'wb')
|
out = open('disk_io.dat', 'wb')
|
||||||
out2 = open('disk_throughput.dat', 'wb')
|
out2 = open('disk_throughput.dat', 'wb')
|
||||||
state = 'idle'
|
state = 'idle'
|
||||||
time = 0
|
time = -1
|
||||||
|
start_time = -1
|
||||||
i = 0
|
i = 0
|
||||||
state_timer = {}
|
state_timer = {}
|
||||||
throughput = {}
|
throughput = {}
|
||||||
@@ -41,13 +42,20 @@ for l in lines:
|
|||||||
continue
|
continue
|
||||||
# try:
|
# try:
|
||||||
new_time = long(l[0])
|
new_time = long(l[0])
|
||||||
|
if time == -1:
|
||||||
|
time = new_time
|
||||||
|
i = new_time
|
||||||
|
start_time = new_time
|
||||||
while new_time > i + quantization:
|
while new_time > i + quantization:
|
||||||
i += quantization
|
i += quantization
|
||||||
state_timer[state] += i - time
|
state_timer[state] += i - time
|
||||||
time = i
|
time = i
|
||||||
for k in keys: print >>out, (state_timer[k] / float(quantization) * 100.),
|
for k in keys: print >>out, (state_timer[k] / float(quantization) * 100.),
|
||||||
print >>out
|
print >>out
|
||||||
for k in throughput_keys: print >>out2, throughput[k] / float(quantization),
|
print >>out2, time - start_time,
|
||||||
|
for k in throughput_keys:
|
||||||
|
print >>out2, throughput[k] / float(quantization),
|
||||||
|
print '-- %s %d' % (k, throughput[k])
|
||||||
print >>out2
|
print >>out2
|
||||||
for k in keys: state_timer[k] = 0
|
for k in keys: state_timer[k] = 0
|
||||||
for k in throughput_keys: throughput[k] = 0
|
for k in throughput_keys: throughput[k] = 0
|
||||||
@@ -58,6 +66,19 @@ for l in lines:
|
|||||||
throughput[state] += long(l[2])
|
throughput[state] += long(l[2])
|
||||||
# except:
|
# except:
|
||||||
# print l
|
# print l
|
||||||
|
|
||||||
|
i += quantization
|
||||||
|
state_timer[state] += i - time
|
||||||
|
time = i
|
||||||
|
for k in keys: print >>out, (state_timer[k] / float(quantization) * 100.),
|
||||||
|
print >>out
|
||||||
|
print >>out2, time - start_time,
|
||||||
|
for k in throughput_keys:
|
||||||
|
print >>out2, throughput[k] / float(quantization),
|
||||||
|
print '-- %s %d' % (k, throughput[k])
|
||||||
|
print >>out2
|
||||||
|
for k in keys: state_timer[k] = 0
|
||||||
|
for k in throughput_keys: throughput[k] = 0
|
||||||
out.close()
|
out.close()
|
||||||
out2.close()
|
out2.close()
|
||||||
|
|
||||||
@@ -70,7 +91,7 @@ print >>out, 'set ylabel "throughput (kB/s)"'
|
|||||||
print >>out, 'plot',
|
print >>out, 'plot',
|
||||||
i = 0
|
i = 0
|
||||||
for k in throughput_keys:
|
for k in throughput_keys:
|
||||||
print >>out, ' "disk_throughput.dat" using %d title "%s" with lines,' % (i + 1, throughput_keys[i]),
|
print >>out, ' "disk_throughput.dat" using 1:%d title "%s" with lines,' % (i + 1, throughput_keys[i]),
|
||||||
i = i + 1
|
i = i + 1
|
||||||
print >>out, 'x=0'
|
print >>out, 'x=0'
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user