diff options
author | Alex Gorrod <alexg@wiredtiger.com> | 2014-02-11 07:25:32 +1100 |
---|---|---|
committer | Alex Gorrod <alexg@wiredtiger.com> | 2014-02-11 07:25:32 +1100 |
commit | b64ef8ede3569244aa33b9357a9e243d6a6dbe74 (patch) | |
tree | 0c9c9c317768d7e1ce738d9e693609ed7739921c /tools | |
parent | 51894e4266a34a730732033a6a29959d27d1f9bf (diff) | |
parent | 6558518026d2461c39315171048744ccc7c6f336 (diff) | |
download | mongo-b64ef8ede3569244aa33b9357a9e243d6a6dbe74.tar.gz |
Merge branch 'develop' into wtperf_monitor_nvd3
Conflicts:
tools/wtperf_graph.py
Diffstat (limited to 'tools')
-rw-r--r-- | tools/wtperf_graph.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/tools/wtperf_graph.py b/tools/wtperf_graph.py index dd4cf32606b..1f50b6bafa1 100644 --- a/tools/wtperf_graph.py +++ b/tools/wtperf_graph.py @@ -41,18 +41,18 @@ def process_monitor(fname, sfx, ckptlist, opdict): ofname = 'monitor%s.png' % (sfx) # Monitor output format currently is: - # time,read,insert,update,ckpt,...latencies... + # time,totalsec,read,insert,update,ckpt,...latencies... ops = ('read', 'insert', 'update') - csvcol = (1, 2, 3) + csvcol = (2, 3, 4) with open(fname, 'r') as csvfile: reader = csv.reader(csvfile) for row in reader: if row[0].lstrip().startswith('#'): continue # Look for checkpoints and operations. - if row[4] != in_ckpt: + if row[5] != in_ckpt: ckptlist.append(row[0]) - in_ckpt = row[4] + in_ckpt = row[5] for op, col in zip(ops, csvcol): if row[col] != '0' and opdict[op] == 0: opdict[op] = 1 @@ -85,10 +85,9 @@ set yrange [0:]\n''' % { graph 0 to first '%i',\ graph 1 fc rgb \"gray\" back\n" % (start, stop)) of.write('set output "%s"\n' % (ofname)) - of.write("""plot "{name}" every ::1 using 1:($2/1000) title "Reads", \\ - "{name}" every ::1 using 1:($3/1000) title "Inserts",\\ - "{name}" every ::1 using 1:($4/1000) title "Updates",\\ - "{name}" every ::1 using 1:(($2+$3+$4)/1000) title "Total" + of.write("""plot "{name}" every ::1 using 1:($3/1000) title "Reads", \\ + "{name}" every ::1 using 1:($4/1000) title "Inserts",\\ + "{name}" every ::1 using 1:($5/1000) title "Updates" """.format(name=fname)) of.close() call(["gnuplot", gcmd]) @@ -136,6 +135,9 @@ set yrange [1:]\n''' % { # Graph latency vs. % operations def plot_latency_percent(name, dirname, sfx, ckptlist): + lfile = os.path.join(dirname, 'latency.' + name) + if not os.path.exists(lfile): + return gcmd = "gnuplot." + name + ".l2.cmd" of = open(gcmd, "w") of.write(''' @@ -154,8 +156,8 @@ set ylabel "%% operations" set yrange [0:]\n''') ofname = name + sfx + '.latency2.png' of.write('set output "' + ofname + '"\n') - of.write('plot "' + os.path.join(dirname, 'latency.' + name) + sfx +\ - '" every :: 1 using (($2 * 100)/$4) title "' + name + '"\n') + of.write('plot "' + lfile + sfx +\ + '" every ::1 using (($2 * 100)/$4) title "' + name + '"\n') of.close() call(["gnuplot", gcmd]) os.remove(gcmd) @@ -163,6 +165,9 @@ set yrange [0:]\n''') # Graph latency vs. % operations (cumulative) def plot_latency_cumulative_percent(name, dirname, sfx, ckptlist): + lfile = os.path.join(dirname, 'latency.' + name) + if not os.path.exists(lfile): + return # Latency plot: cumulative operations vs. latency gcmd = "gnuplot." + name + ".l3.cmd" of = open(gcmd, "w") @@ -183,7 +188,7 @@ set yrange [0:]\n''' % { }) ofname = name + sfx + '.latency3.png' of.write('set output "' + ofname + '"\n') - of.write('plot "' + os.path.join(dirname, 'latency.' + name) + sfx +\ + of.write('plot "' + lfile + sfx +\ '" every ::1 using 1:(($3 * 100)/$4) title "' + name + '"\n') of.close() call(["gnuplot", gcmd]) @@ -201,7 +206,7 @@ def process_file(fname): dirname = os.path.dirname(fname) process_monitor(fname, sfx, ckptlist, opdict) - column = 6 # average, minimum, maximum start in column 6 + column = 7 # average, minimum, maximum start in column 7 for k, v in opdict.items(): if v != 0: plot_latency_operation( |