Skip to content
Snippets Groups Projects
Commit da4dcace authored by Rowan Powell's avatar Rowan Powell
Browse files

Fixed naming errors, slide_id changed to slice_id, clients now generate on init

parent 394af6cf
No related branches found
No related tags found
No related merge requests found
......@@ -78,7 +78,7 @@ def _generateServerConfig(ID, location, cpu, mem, storage, time):
# metric
result = 'host_resource'
# Tags
result += ',slide_id=' + quote_wrap(ID)
result += ',slice_id=' + quote_wrap(ID)
result += ',location=' + quote_wrap(location)
result += ' '
# Fields
......
No preview for this file type
......@@ -106,7 +106,7 @@ class DemoClient(object):
class DatabaseManager():
def __init__(self, influx_url, db_name):
self.influx_url = influx_url
self.influxDB = db_name
self.influx_db = db_name
def database_up(self):
self._createDB()
......@@ -115,34 +115,28 @@ class DatabaseManager():
self._deleteDB()
def _createDB(self):
self._sendInfluxQuery('CREATE DATABASE ' + self.influxDB)
self._sendInfluxQuery('CREATE DATABASE ' + self.influx_db)
def _deleteDB(self):
self._sendInfluxQuery('DROP DATABASE ' + self.influxDB)
self._sendInfluxQuery('DROP DATABASE ' + self.influx_db)
def _sendInfluxQuery(self, query):
query = urllib.parse.urlencode({'q': query})
query = query.encode('ascii')
req = urllib.request.Request(self.influxURL + '/query ', query)
req = urllib.request.Request(self.influx_url + '/query ', query)
urllib.request.urlopen(req)
# DemoServer is the class that simulates the behaviour of the MPEG-DASH server
class DemoServer(object):
def __init__(self, cc, si, db_url, db_name):
def __init__(self, cc, si, db_url, db_name, server_id, server_location):
self.influxDB = db_name # InfluxDB database name
self.id = uuid.uuid4() # MPEG-DASH server ID
self.clientCount = cc # Number of clients to simulate
self.simIterations = si # Number of iterations to make for this simulation
self.influxURL = db_url # InfluxDB connection URL
self.currentTime = int(round(time.time() * 1000)) # The current time
def configure(self, server_id, server_location):
print("Configuring")
self.configure_VM('starting')
self.configure_VM('running')
time.sleep(1)
self.configure_server(server_id, server_location)
self._configure(server_id, server_location)
def shutdown(self):
print("Shutting down")
......@@ -259,10 +253,18 @@ class DemoServer(object):
return self.simIterations
# 'Private' methods ________________________________________________________
def _generateVM(self, state, delay):
return lp._generateVMConfig(state, 1, '100G', '1T', self._selectDelay(delay))
# 'Private' methods ________________________________________________________
def _configure(self, server_id, server_location):
print("Configuring")
self.configure_VM('starting')
self.configure_VM('running')
time.sleep(1)
self.configure_server(server_id, server_location)
self.generate_clients()
def _cpuUsage(self, clientCount):
cpuUsage = randint(0, 10)
......@@ -370,8 +372,7 @@ time.sleep(2)
database_manager.database_up()
time.sleep(2)
# configure servers
demoServer = DemoServer(clients, iterations, 'http://localhost:8186', 'testDB')
demoServer.configure("Server1", "Southampton")
demoServer = DemoServer(clients, iterations, 'http://localhost:8186', 'testDB', "Server1", "Southampton")
# Start simulation
print("Starting simulation")
while True:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment