Ejemplo n.º 1
0
    def __init__(self):
        Analysis.__init__(self)

        self.parser.set_usage("Usage:  %prog [options]\n"\
                              "Creates graphs showing thruput, rtt, rtt_min and rtt_max over the "\
                              "variable given by the option -V.\n"\
                              "For this all flowgrind logs out of input folder are used "\
                              "which have the type given by the parameter -T.")

        self.parser.add_option('-V', '--variable', metavar = "Variable",
                        action = 'store', type = 'string', dest = 'variable',
                        help = 'The variable of the measurement [bnbw|delay].')
        self.parser.add_option('-E', '--plot-error', metavar = "PlotError",
                        action = 'store_true', dest = 'plot_error',
                        help = "Plot error bars [default: %default]")
        self.parser.add_option('-s', '--per-subflow', metavar = "Subflows",
                        action = 'store_true', dest = 'per_subflow',
                        help = 'For senarios with mulitple subflows each subflow is '\
                                'ploted seperate instead of an aggregation of all those subflows [default: %default]'),
        self.parser.add_option('-f', '--filter', action = 'append',
                        type = 'int', dest = 'scenarios',
                        help = 'filter the scenarios to be used for a graph', default=[]),

        self.parser.add_option('-d', '--dry-run',
                        action = "store_true", dest = "dry_run",
                        help = "Test the flowlogs only")

        self.plotlabels = dict()
        self.plotlabels["bnbw"]    = r"bottleneck bandwidth [$\\si[per=frac,fraction=nice]{\\Mbps}$]";
        self.plotlabels["qlimit"]  = r"bottleneck queue length [packets]";
        self.plotlabels["rrate"]   = r"reordering rate [$\\si{\\percent}$]";
        self.plotlabels["rdelay"]  = r"reordering delay [$\\si{\\milli\\second}$]";
        self.plotlabels["rtos"]    = r"RTO retransmissions [$\\#$]";
        self.plotlabels["frs"]     = r"fast retransmissions [$\\#$]";
        self.plotlabels["thruput"] = r"throughput [$\\si[per=frac,fraction=nice]{\\Mbps}$]";

        #self.plotlabels["bnbw"]    = r"Bottleneck Bandwidth [$\\si{\\Mbps}$]";
        #self.plotlabels["qlimit"]  = r"Bottleneck Queue Length [packets]";
        #self.plotlabels["rrate"]   = r"Reordering Rate [$\\si{\\percent}$]";
        #self.plotlabels["rdelay"]  = r"Reordering Delay [$\\si{\\milli\\second}$]";
        #self.plotlabels["rtos"]    = r"RTO Retransmissions [$\\#$]";
        #self.plotlabels["frs"]     = r"Fast Retransmissions [$\\#$]";
        #self.plotlabels["thruput"] = r"Throughput [$\\si{\\Mbps}$]";
        self.plotlabels["rtt_max"] = r"Maximal Round Trip Time on Application Layer";
        self.plotlabels["rtt_min"] = r"Minimal Rount Trip Time on Application Layer";
        self.plotlabels["rtt_avg"] = r"Avarage Round Trip Time on Application Layer";
        #self.plotlabels["fairness"]= r"Fairness"
        self.plotlabels["delay"]   = r"RTT [$\\si{\\milli\\second}$]"
Ejemplo n.º 2
0
    def __init__(self):
        Analysis.__init__(self)

        self.parser.set_usage("Usage:  %prog [options]\n"\
                              "Creates graphs showing thruput, frs and rtos over the "\
                              "variable given by the option -V.\n"\
                              "For this all flowgrind logs out of input folder are used "\
                              "which have the type given by the parameter -T.")

        self.parser.add_option('-V', '--variable', metavar="Variable",
                         action = 'store', type = 'string', dest = 'variable',
                         help = 'The variable of the measurement [bnbw|qlimit|rrate|rdelay].')
        self.parser.add_option('-T', '--type', metavar="Type",
                         action = 'store', type = 'string', dest = 'rotype',
                         help = 'The type of the measurement [reordering|congestion|both].')
        self.parser.add_option('-E', '--plot-error', metavar="PlotError",
                         action = 'store_true', dest = 'plot_error',
                         help = "Plot error bars")
        self.parser.add_option('-d', '--dry-run',
                        action = "store_true", dest = "dry_run",
                        help = "Test the flowlogs only")
        self.parser.add_option('-F', '--fairness',
                        action = "store_true", dest = "fairness",
                        help = "Plot fairness instead")

        self.plotlabels = dict()
        self.plotlabels["bnbw"]    = r"Bottleneck Bandwidth [$\\si{\\Mbps}$]";
        self.plotlabels["qlimit"]  = r"Bottleneck Queue Length [packets]";
        self.plotlabels["rrate"]   = r"Reordering Rate [$\\si{\\percent}$]";
        self.plotlabels["rdelay"]  = r"Reordering Delay [$\\si{\\milli\\second}$]";
        self.plotlabels["rtos"]    = r"RTO Retransmissions [$\\#$]";
        self.plotlabels["frs"]     = r"Fast Retransmissions [$\\#$]";
        self.plotlabels["thruput"] = r"Throughput [$\\si{\\Mbps}$]";
        self.plotlabels["fairness"]= r"Fairness"
        self.plotlabels["delay"]   = r"Round-Trip Time [$\\si{\\milli\\second}$]"
        self.plotlabels["ackreor"] = r"ACK Reordering Rate [$\\si{\\percent}$]"
        self.plotlabels["ackloss"] = r"ACK Loss Rate [$\\si{\\percent}$]"
        self.plotlabels["rtt_avg"] = r"Aplication Layer RTT [$\\si{\\second}$]"
        self.plotlabels["dsacks"]  = r"Spurious Retransmissions [$\\#$]"
Ejemplo n.º 3
0
    def __init__(self):
        Analysis.__init__(self)

        # create top-level parser
        description = textwrap.dedent("""\
                Creates graphs showing thruput, fast retransmits and RTOs over
                the variable given. For this all flowgrind logs out of input
                folder are used which have the type given by the parameter
                -t.""")
        Analysis.__init__(self, description=description)
        self.parser.add_argument("variable", action="store", choices=["bnbw",
                "delay", "qlimit", "rrate", "rdelay", "ackreor", "ackloss"],
                help="The variable of the measurement")
        self.parser.add_argument("-t", "--type", action="store", dest="rotype",
                choices=["reordering", "congestion", "both"], help="The type "\
                        "of the measurement")
        self.parser.add_argument("-e", "--plot-error", action="store_true",
                help = "Plot error bars")
        self.parser.add_argument("-d", "--dry-run", action="store_true",
                dest="dry_run", help = "Test the flowlogs only")
        self.parser.add_argument("-f", "--fairness", action = "store_true",
                help = "Plot fairness instead")

        # Labels for plots - we use nice LaTeX code
        self.plotlabels = dict()
        self.plotlabels["bnbw"]    = r"Bottleneck Bandwidth [$\\si{\\Mbps}$]";
        self.plotlabels["qlimit"]  = r"Bottleneck Queue Length [packets]";
        self.plotlabels["rrate"]   = r"Reordering Rate [$\\si{\\percent}$]";
        self.plotlabels["rdelay"]  = r"Reordering Delay [$\\si{\\milli\\second}$]";
        self.plotlabels["rtos"]    = r"RTO Retransmissions [$\\#$]";
        self.plotlabels["frs"]     = r"Fast Retransmissions [$\\#$]";
        self.plotlabels["thruput"] = r"Throughput [$\\si{\\Mbps}$]";
        self.plotlabels["fairness"]= r"Fairness"
        self.plotlabels["delay"]   = r"Round-Trip Time [$\\si{\\milli\\second}$]"
        self.plotlabels["ackreor"] = r"ACK Reordering Rate [$\\si{\\percent}$]"
        self.plotlabels["ackloss"] = r"ACK Loss Rate [$\\si{\\percent}$]"
        self.plotlabels["rtt_avg"] = r"Aplication Layer RTT [$\\si{\\second}$]"
        self.plotlabels["dsacks"]  = r"Spurious Retransmissions [$\\#$]"
Ejemplo n.º 4
0
 def __init__(self):
     Analysis.__init__(self)
Ejemplo n.º 5
0
 def __init__(self):
     Analysis.__init__(self)
     self.parser.set_defaults(indir = "./",
                              outdir = "./rtt");
     self.nodepairs = dict()
Ejemplo n.º 6
0
 def __init__(self):
     Analysis.__init__(self)
Ejemplo n.º 7
0
 def __init__(self):
     Analysis.__init__(self)
     self.parser.set_defaults(indir="./", outdir="./rtt")
     self.nodepairs = dict()