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