Example #1
0
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)
Example #2
0
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)