Пример #1
0
 def scalability(self, comm, numbers, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for count in numbers:
         tid = "{}-scalability-{:02d}".format(comm, count)
         title = "Scalability - {} nodes ({})".format(count, comm.upper())
         self.run(comm + "_scalability", tid, count, title, count, skip,
                  logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Number of nodes"
             prefix = "{}-scalability-{}".format(comm, cmd)
             logs.extractThroughput('data/{}-throughput.dat'.format(prefix),
                                    cmd)
             logs.extractLatency('data/{}-latency.dat'.format(prefix), cmd)
             if len(logs.keys()) > 1:
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)
Пример #2
0
 def delay(self, comm, delays, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for delay in delays:
         tid = "{}-delay-{:04d}".format(comm, delay)
         tc = "netem delay {}ms".format(delay)
         title = "Delay {}ms ({})".format(delay, comm.upper())
         self.run(comm, tid, tc, title, delay, skip, logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Packet delay [ms]"
             prefix = "{}-delay-{}".format(comm, cmd)
             self.extract(logs, prefix, cmd)
             if len(logs.keys()) > 1:
                 plotter.lostPackets("{}-lost-packets".format(prefix), cmd,
                                     xlabel)
                 plotter.firstReceived("{}-first-received".format(prefix),
                                       cmd, xlabel)
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)
Пример #3
0
 def loss(self, comm, losses, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for loss in losses:
         tid = "{}-loss-{:02d}".format(comm, loss)
         tc = "netem loss {}%".format(loss)
         title = "Loss {}% ({})".format(loss, comm.upper())
         self.run(comm, tid, tc, title, loss, skip, logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Packet loss rate [%]"
             prefix = "{}-loss-{}".format(comm, cmd)
             self.extract(logs, prefix, cmd)
             if len(logs.keys()) > 1:
                 plotter.lostPackets("{}-lost-packets".format(prefix), cmd,
                                     xlabel)
                 plotter.firstReceived("{}-first-received".format(prefix),
                                       cmd, xlabel)
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)
Пример #4
0
 def limit(self, comm, limits, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for limit in limits:
         tid = "{}-limit-{:04d}kbit".format(comm, limit)
         tc = "tbf rate {}kbit burst 32kbit latency 500ms".format(limit)
         title = "Limit {}kbit ({})".format(limit, comm.upper())
         self.run(comm, tid, tc, title, limit, skip, logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Throughput limit [kbit]"
             prefix = "{}-limit-{}".format(comm, cmd)
             self.extract(logs, prefix, cmd)
             if len(logs.keys()) > 1:
                 plotter.lostPackets("{}-lost-packets".format(prefix), cmd,
                                     xlabel)
                 plotter.firstReceived("{}-first-received".format(prefix),
                                       cmd, xlabel)
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)
Пример #5
0
 def duplication(self, comm, dups, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for dup in dups:
         tid = "{}-duplication-{:02d}".format(comm, dup)
         tc = "netem duplicate {}%".format(dup)
         title = "Duplication {}% ({})".format(dup, comm.upper())
         self.run(comm, tid, tc, title, dup, skip, logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Duplication rate [%]"
             prefix = "{}-duplication-{}".format(comm, cmd)
             self.extract(logs, prefix, cmd)
             if len(logs.keys()) > 1:
                 plotter.lostPackets("{}-lost-packets".format(prefix), cmd,
                                     xlabel)
                 plotter.firstReceived("{}-first-received".format(prefix),
                                       cmd, xlabel)
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)
Пример #6
0
 def reorder(self, comm, reorders, skip, mean):
     logs = Logs()
     plotter = Plotter()
     for reorder in reorders:
         tid = "{}-reorder-{:02d}".format(comm, reorder)
         tc = "netem reorder {}% delay 25ms".format(reorder)
         title = "Reorders {}% ({})".format(reorder, comm.upper())
         self.run(comm, tid, tc, title, reorder, skip, logs, mean)
     if len(logs.keys()) > 0:
         for cmd in self.commands:
             xlabel = "Reordering rate [%]"
             prefix = "{}-reorder-{}".format(comm, cmd)
             self.extract(logs, prefix, cmd)
             if len(logs.keys()) > 1:
                 plotter.lostPackets("{}-lost-packets".format(prefix), cmd,
                                     xlabel)
                 plotter.firstReceived("{}-first-received".format(prefix),
                                       cmd, xlabel)
                 plotter.throughput("{}-throughput".format(prefix), cmd,
                                    xlabel)
                 plotter.latency("{}-latency".format(prefix), cmd, xlabel)