added parser and plotter for dht round trip time distribution

This commit is contained in:
Arvid Norberg 2008-05-08 19:09:55 +00:00
parent b4c68f3fe9
commit 74b90b822e
2 changed files with 56 additions and 4 deletions

View File

@ -23,13 +23,14 @@ for k,v in histogram.items():
out.close()
out = open('dht_announce_distribution.gnuplot', 'w+')
out.write('''set term png size 1200,700
out.write('''
set term png size 1200,700
set output "dht_announce_distribution.png"
set title "bucket # announces are made against relative to target node-id"
set ylabel "# of announces"
set style fill solid
set boxwidth 0.8
plot "dht_announce_distribution.dat" using 1:2 title "announces" with boxes''')
set style fill solid border -1 pattern 2
plot "dht_announce_distribution.dat" using 1:2 title "announces" with boxes
''')
out.close()
os.system('gnuplot dht_announce_distribution.gnuplot');

51
parse_dht_rtt.py Executable file
View File

@ -0,0 +1,51 @@
#!/usr/bin/python
import sys
import os
quantize = 200
max_rtt = 10000
f = open(sys.argv[1])
distribution = {}
num_messages = 0
for i in range(0, max_rtt, quantize):
distribution[i] = 0
for line in f:
time = int(line.split('\t')[1])
if (time < 0 or time > max_rtt): continue
num_messages += 1
time /= quantize
time *= quantize
distribution[time] += 1
f = open('round_trip_distribution.log', 'w+')
for k, v in distribution.items():
print >>f, '%f %d' % ((k + (quantize / 2)) / 1000.0, v)
f.close();
f = open('round_trip_distribution.gnuplot', 'w+')
f.write('''
set term png size 1200,700
set title "Message round trip times"
set terminal postscript
set ylabel "# of requests"
set xlabel "Round trip time (seconds)"
set grid
set style fill solid border -1 pattern 2
set output "round_trip_distribution.ps"
set boxwidth %f
plot "round_trip_distribution.log" using 1:2 title "requests" with boxes
set terminal png small
set output "round_trip_distribution.png"
replot
''' % (float(quantize) / 1000.0))
f.close()
os.system('gnuplot round_trip_distribution.gnuplot');