Example #1
0
import sys, itertools
from pylibs.test import Test, Player, BwChange, DelayChange, TcpDump
from pylibs.generic import PlainObject

server_url = 'http://192.168.100.10:3000/static'
bigbuckbunny8_url = server_url + '/bbb8/play_size.m3u8' # rates: 350k 470k 630k 845k 1130k 1520k 2040k 2750k, duration (s): ~600

settings = PlainObject()
settings.video_label = 'bbb8'
settings.video_url = bigbuckbunny8_url
settings.kill_after = 700
settings.rtt = ('20ms', '80ms')
settings.rtt_zfill = 4
settings.buffer_size = ('25%', '50%', '100%', '600%') #won't be given directly to tc_helper, but will pass through get_bdp_fraction
settings.buffer_size_zfill = 4
settings.fairshare = range(600, 3001, 300)
settings.aqm = ('droptail', 'ared', 'codel')
settings.clients = (1, 2, 3)
settings.algorithms = ('classic-119', 'bba2', 'bba3')
settings.curl = ('yes', 'bandwidth')

def get_curl_label(curl):
	if curl == 'yes':
		return 'keepalive'
	if curl == 'bandwidth':
		return 'keepalive_est'
	return 'close'

def get_algocurl_tuples(algorithms, curl_tuple):
	tuples = []
	for curl in curl_tuple:
Example #2
0
            while True:
                runpath = os.path.join(filename, str(run))
                if not os.path.isdir(runpath):
                    runpath += ".tar.gz"
                    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: