def run_command(args, plt): # read in all stats stats = [] for stat in args.stats: gs = gridstats.GridStats() gs.read(stat) stats.append(gs) # create the LoadRate stats object lrstats = ssplot.LoadRateStats(args.start, args.stop, args.step, stats) # determine fields to plot fields = ssplot.LoadRateStats.FIELDS # gather data xdata = lrstats.data['Injected'] ydatas = [] for field in fields: ydatas.append(lrstats.data[field]) # create x and y axis labels xlabel = 'Injected Rate (%)' ylabel = 'Delivered Rate (%)' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(fields) mlp.apply_args(args, *LoadRate._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # create a sample stats object of latencies stats = gridstats.GridStats() stats.read(args.ifile) # determine the fields and data labels to plot fields = ssplot.LoadLatencyStats.FIELDS if not args.minimum: fields.remove('Minimum') fields = list(reversed(fields)) # gather data xdata = stats.row_names() ydatas = [] for field in fields: ydatas.append(stats.get_column(field)) # create x and y axis labels xlabel = 'Time' ylabel = 'Latency' if args.units: ylabel += ' ({0})'.format(args.units) # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(fields) mlp.apply_args(args, *TimeLatency._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # create a sample stats object of latencies stats = gridstats.GridStats() stats.read(args.ifile) # determine the fields and data labels to plot fields = ['AveMinHops', 'AveHops', 'AveNonMinHops'] labels = ['Minimal Hops', 'Total Hops', 'Non-Minimal Hops'] if not args.non_minimal: fields = fields[:-1] labels = labels[:-1] # gather data xdata = stats.row_names() ydatas = [] for field in fields: ydatas.append(stats.get_column(field)) # create x and y axis labels xlabel = 'Time' ylabel = 'Average Hops' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(labels) mlp.apply_args(args, *TimeAverageHops._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # create a sample stats object of latencies stats = gridstats.GridStats() stats.read(args.ifile) # determine the fields and data labels to plot fields = ['PerMinimal', 'PerNonMinimal'] labels = ['Minimal %', 'Non-Minimal %'] # gather data xdata = stats.row_names() ydatas = [] for field in fields: ydatas.append(stats.get_column(field)) # create x and y axis labels xlabel = 'Time' ylabel = 'Packets (%)' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(labels) mlp.apply_args(args, *TimePercentMinimal._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # read in all stats stats = [] for stat in args.stats: gs = handycsv.GridStats.read(stat) stats.append(gs) # create LoadHops stats object lhstats = ssplot.LoadHopsStats( args.start, args.stop, args.step, stats) # determine the fields and data labels to plot fields = ['PerMinimal', 'PerNonMinimal'] labels = ['Minimal %', 'Non-Minimal %'] # gather data xdata = lhstats.data['Load'] ydatas = [] for field in fields: ydatas.append(lhstats.data[field]) # create x and y axis labels xlabel = 'Load ({0})'.format(args.load_units) ylabel = 'Packets (%)' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(labels) mlp.apply_args(args, *LoadPercentMinimal._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # check inputs assert args.start <= args.stop, 'start must be <= stop' assert args.step > 0, 'step must be > 0.0' gridsPerSet = len(numpy.arange(args.start, args.stop, args.step)) if len(args.stats) % gridsPerSet != 0: print(('The number of stats file for data set is {0},\n' 'yet you specified {1} stats files. What gives?').format( gridsPerSet, len(args.stats))) return -1 dataSets = len(args.stats) // gridsPerSet # read in all stats stats = [] for stat in args.stats: gs = handycsv.GridStats.read(stat) stats.append(gs) # create LoadLatency stats objects llstats = [] for idx in range(dataSets): # create the LoadLatencyStats object llstat = ssplot.LoadLatencyStats( args.start, args.stop, args.step, stats[idx * gridsPerSet:(idx + 1) * gridsPerSet], row=args.row) # save the object llstats.append(llstat) # make sure the loads are all the same, gather data xdata = llstats[0].data['Load'] ydatas = [] assert args.field in ssplot.LoadLatencyStats.FIELDS for stat in llstats: assert len(xdata) == len(set(xdata).intersection(stat.data['Load'])), \ '{0} != {1}'.format(mload, stat.data['Load']) ydatas.append(stat.data[args.field]) # create x and y labels xlabel = 'Load ({0})'.format(args.load_units) ylabel = '{0} Latency'.format(args.field) if args.latency_units: ylabel += ' ({0})'.format(args.latency_units) # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.apply_args(args, *LoadLatencyCompare._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # read in all rate stats rate_stats = [] for stat in args.rate_stats: gs = gridstats.GridStats() gs.read(stat) rate_stats.append(gs) # create LoadRate stats object lrstats = ssplot.LoadRateStats( args.start, args.stop, args.step, rate_stats) # read in all hops stats hops_stats = [] for stat in args.hops_stats: gs = gridstats.GridStats() gs.read(stat) hops_stats.append(gs) # create LoadHops stats object lhstats = ssplot.LoadHopsStats( args.start, args.stop, args.step, hops_stats) # determine the fields and data labels to plot fields = ['Mean', 'Minimal', 'NonMinimal'] labels = ['Mean', 'Minimal', 'Non-Minimal'] # gather data xdata = lhstats.data['Load'] mean_rate = lrstats.data['Mean'] min_percent = lhstats.data['PerMinimal'] nmin_percent = lhstats.data['PerNonMinimal'] ydatas = [] ydatas.append(mean_rate) ydatas.append(numpy.multiply(mean_rate, min_percent)) ydatas.append(numpy.multiply(mean_rate, nmin_percent)) # create x and y axis labels xlabel = 'Injected Rate (%)' ylabel = 'Delivered Rate (%)' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(labels) mlp.apply_args(args, *LoadRatePercent._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # read in all stats stats = [] for stat in args.stats: gs = gridstats.GridStats() gs.read(stat) stats.append(gs) # create LoadLatency stats object llstats = ssplot.LoadLatencyStats(args.start, args.stop, args.step, stats, row=args.row) # determine the fields to plot fields = ssplot.LoadLatencyStats.FIELDS if not args.minimum: fields.remove('Minimum') fields = list(reversed(fields)) # gather data xdata = llstats.data['Load'] ydatas = [] for field in fields: ydatas.append(llstats.data[field]) # create x and y axis labels xlabel = 'Load (%)' ylabel = 'Latency' if args.units: ylabel += ' ({0})'.format(args.units) # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(fields) mlp.apply_args(args, *LoadLatency._SKIP) mlp.plot(args.plotfile) return 0
def run_command(args, plt): # read in all stats stats = [] for stat in args.stats: gs = handycsv.GridStats.read(stat) stats.append(gs) # create LoadHops stats object lhstats = ssplot.LoadHopsStats(args.start, args.stop, args.step, stats) # determine the fields and data labels to plot fields = ['AveMinHops', 'AveHops', 'AveNonMinHops'] labels = ['Minimal Hops', 'Total Hops', 'Non-Minimal Hops'] if not args.non_minimal: fields = fields[:-1] labels = labels[:-1] # gather data xdata = lhstats.data['Load'] ydatas = [] for field in fields: ydatas.append(lhstats.data[field]) # create x and y axis labels xlabel = 'Load ({0})'.format(args.load_units) ylabel = 'Average Hops' # plot mlp = ssplot.MultilinePlot(plt, xdata, ydatas) mlp.set_xlabel(xlabel) mlp.set_ylabel(ylabel) mlp.set_data_labels(labels) mlp.apply_args(args, *LoadAverageHops._SKIP) mlp.plot(args.plotfile) return 0