def analyse_owd(test_id='', out_dir='', replot_only='0', source_filter='', min_values='3', omit_const='0', ymin='0', ymax='0', lnames='', stime='0.0', etime='0.0', out_name='', pdf_dir='', ts_correct='1',plot_params='', plot_script='', burst_sep='0.0', sburst='1', eburst='0', seek_window='', anchor_map='', owd_midpoint='0'): "Plot OWD of flows" # Note we allow ts_correct as a parameter for syntactic similarity to other # analyse_* tasks, but abort with warning if user tries explicitly to # make it 0 (which is unacceptable for OWD calculations) if ts_correct == '0': abort("Warning: Cannot do OWD calculations with ts_correct=0") (test_id_arr, out_files, out_groups) = _extract_owd_pktloss(test_id, out_dir, replot_only, source_filter, ts_correct, burst_sep, sburst, eburst, seek_window, log_loss='0', anchor_map=anchor_map, owd_midpoint = owd_midpoint) (out_files, out_groups) = filter_min_values(out_files, out_groups, min_values) out_name = get_out_name(test_id_arr, out_name) burst_sep = float(burst_sep) if burst_sep == 0.0: plot_time_series(out_name, out_files, 'OWD (ms)', 2, 1000.0, 'pdf', out_name + '_owd', pdf_dir=pdf_dir, omit_const=omit_const, ymin=float(ymin), ymax=float(ymax), lnames=lnames, stime=stime, etime=etime, groups=out_groups, plot_params=plot_params, plot_script=plot_script, source_filter=source_filter) else: # Each trial has multiple files containing data from separate bursts detected within the trial plot_incast_ACK_series(out_name, out_files, 'OWD (ms)', 2, 1000.0, 'pdf', out_name + '_owd', pdf_dir=pdf_dir, aggr='', omit_const=omit_const, ymin=float(ymin), ymax=float(ymax), lnames=lnames, stime=stime, etime=etime, groups=out_groups, burst_sep=burst_sep, sburst=int(sburst), plot_params=plot_params, plot_script=plot_script, source_filter=source_filter) # done puts('\n[MAIN] COMPLETED plotting OWDs %s \n' % out_name)
def analyse_pktloss(test_id='', out_dir='', replot_only='0', source_filter='', min_values='3', omit_const='0', ymin='0', ymax='0', lnames='', stime='0.0', etime='0.0', out_name='', pdf_dir='', ts_correct='1', plot_params='', plot_script='', burst_sep='0.0', sburst='1', eburst='0', seek_window='', log_loss='2'): "Plot per-flow packet loss events vs time (or cumlative over time)" if log_loss != '1' and log_loss !='2': abort("Must set log_loss=1 (pkt loss events) or log_loss=2 (cumulative pkt loss)") (test_id_arr, out_files, out_groups) = _extract_owd_pktloss(test_id, out_dir, replot_only, source_filter, ts_correct, burst_sep, sburst, eburst, seek_window, log_loss) (out_files, out_groups) = filter_min_values(out_files, out_groups, min_values) out_name = get_out_name(test_id_arr, out_name) burst_sep = float(burst_sep) if burst_sep == 0.0: plot_time_series(out_name, out_files, 'Lost packets', 2, 1, 'pdf', out_name + '_loss2', pdf_dir=pdf_dir, omit_const=omit_const, ymin=float(ymin), ymax=float(ymax), lnames=lnames, stime=stime, etime=etime, groups=out_groups, plot_params=plot_params, plot_script=plot_script, source_filter=source_filter) else: # Each trial has multiple files containing data from separate bursts detected within the trial plot_incast_ACK_series(out_name, out_files, 'Lost packets', 2, 1, 'pdf', out_name + '_loss2', pdf_dir=pdf_dir, aggr='', omit_const=omit_const, ymin=float(ymin), ymax=float(ymax), lnames=lnames, stime=stime, etime=etime, groups=out_groups, burst_sep=burst_sep, sburst=int(sburst), plot_params=plot_params, plot_script=plot_script, source_filter=source_filter) # done puts('\n[MAIN] COMPLETED plotting pktloss %s \n' % out_name)