set xlabel "Time (Seconds)"
set ylabel '%s'
set yrange [0:]
+set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green"
'''% (title,mode))
compare.close()
#Copying the common file for all kind of graph (raw/smooth/trend)
compare_trend=open(gnuplot_output_dir+compare_trend_filename+".gnuplot",'a')
compare_trend.write("set output '%s.png'\n" % compare_trend_filename)
+ # Let's plot the average value for all the traces
+ global_disk_perf = sum(disk_perf, [])
+ global_avg = average(global_disk_perf)
+ compare_raw.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg));
+ compare_smooth.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg));
+ compare_trend.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg));
+
pos=0
# Let's create a temporary file for each selected fio file
for file in fio_data_file:
# Plotting comparing graphs doesn't have a meaning unless if there is at least 2 traces
if len(fio_data_file) > 1:
# Adding the plot instruction for each kind of comparing graphs
- if pos ==0 :
- compare_raw.write("plot '%s' using 2:3 with linespoints title '%s'" % (tmp_filename,fio_data_file[pos]))
- compare_smooth.write("plot '%s' using 2:3 smooth csplines title '%s'" % (tmp_filename,fio_data_file[pos]))
- compare_trend.write("plot '%s' using 2:3 smooth bezier title '%s'" % (tmp_filename,fio_data_file[pos]))
- else:
- compare_raw.write(",\\\n'%s' using 2:3 with linespoints title '%s'" % (tmp_filename,fio_data_file[pos]))
- compare_smooth.write(",\\\n'%s' using 2:3 smooth csplines title '%s'" % (tmp_filename,fio_data_file[pos]))
- compare_trend.write(",\\\n'%s' using 2:3 smooth bezier title '%s'" % (tmp_filename,fio_data_file[pos]))
+ compare_raw.write(",\\\n'%s' using 2:3 with linespoints title '%s'" % (tmp_filename,fio_data_file[pos]))
+ compare_smooth.write(",\\\n'%s' using 2:3 smooth csplines title '%s'" % (tmp_filename,fio_data_file[pos]))
+ compare_trend.write(",\\\n'%s' using 2:3 smooth bezier title '%s'" % (tmp_filename,fio_data_file[pos]))
png_file=file.replace('.log','')
raw_filename = "%s-2Draw" % (png_file)
break
last_time = -1
- index=0
+ index=-1
perfs=[]
- for line in current_line:
- time, perf, x, block_size = line
+ for line in enumerate(current_line):
+ # Index will be used to remember what file was featuring what value
+ index=index+1
+
+ time, perf, x, block_size = line[1]
if (blk_size == 0):
try:
blk_size=int(block_size)
# We ignore the first 500msec as it doesn't seems to be part of the real benchmark
# Time < 500 usually reports BW=0 breaking the min computing
- if (((int(time)) > 500) or (int(time)==-1)):
- # Now it's time to estimate if the data we got is part of the time range we want to plot
- if ((int(time)>(int(min_time)*1000)) and ((int(time) < (int(max_time)*1000)) or max_time=="-1")):
+ if (min_time == 0):
+ min_time==0.5
+
+ # Then we estimate if the data we got is part of the time range we want to plot
+ if ((float(time)>(float(min_time)*1000)) and ((int(time) < (int(max_time)*1000)) or max_time==-1)):
disk_perf[index].append(int(perf))
- perfs.append("%s %s"% (time, perf))
- index = index + 1
+ perfs.append("%d %s %s"% (index, time, perf))
# If we reach this point, it means that all the traces are coherent
for p in enumerate(perfs):
- perf_time,perf = p[1].split()
- if (perf_time != "-1"):
- temp_outfile[p[0]].write("%s %.2f %s\n" % (p[0], float(float(perf_time)/1000), perf))
+ index, perf_time,perf = p[1].split()
+ temp_outfile[int(index)].write("%s %.2f %s\n" % (index, float(float(perf_time)/1000), perf))
for file in files:
sys.exit(3)
try:
- opts, args = getopt.getopt(argv[1:],"ghbio:d:t:p:G:m:M:")
+ opts, args = getopt.getopt(argv[1:],"ghbio:d:t:p:G:m:M:",['bandwidth', 'iops', 'pattern', 'outputfile', 'outputdir', 'title', 'min_time', 'max_time', 'gnuplot', 'Global', 'help'])
except getopt.GetoptError:
- print_help()
+ print "Error: One of the option passed to the cmdline was not supported"
+ print "Please fix your command line or read the help (-h option)"
sys.exit(2)
for opt, arg in opts: