Example #1
0
                    if not os.path.isfile(runpath):
                        break
                        # print "Reading {0} run {1}...".format(filename, run)
                sessions.append(Session.read(runpath))
                run += 1
            if len(sessions) == 0:
                # print "No runs in {0}".format(filename)
                continue
                # print "Analyzing {0}...".format(filename)
            for run_zerobased, session in enumerate(sessions):
                for VLClog in session.VLClogs:
                    summary = PlainObject()
                    summary.total_clients = 1
                    summary.rebuffering_ratio = VLClog.get_buffering_fraction()
                    summary.avg_bitrate = VLClog.get_avg_bitrate()
                    summary.avg_relative_bitrate = float(summary.avg_bitrate) / session.get_fairshare() * 100
                    summary.avg_quality_level = VLClog.get_avg_quality()
                    summary.instability = VLClog.get_instability()

                    summary.link_utilization = -1
                    if len(session.bwprofile) == 1:
                        summary.link_utilization = (
                            float(session.bandwidth_eth2_toclients.get_avg_rate()) / session.bwprofile.values()[0] * 100
                        )

                    summary.avg_router_queue_len = session.bandwidth_buffer.get_avg_queue_len()
                    if len(set(session.buffer_profile.values())) != 1:
                        raise Exception("More to code if router buffer size is not constant!")
                    summary.avg_relative_router_queue_len = (
                        float(summary.avg_router_queue_len) / session.buffer_profile.values()[0] * 100
                    )