def connect(area): """ A simple function for DB connection Args: area: area of the DB Returns: the connection """ json_object = retrieve_config() if area == "Cloud": db = mysql.connect(host=json_object['cloud']['db'], user=json_object['user'], passwd=json_object['passwd'], database=json_object['database'], auth_plugin='mysql_native_password', buffered=True) else: db = mysql.connect(host=json_object['fog']['db'][area], user=json_object['user'], passwd=json_object['passwd'], database=json_object['database'], auth_plugin='mysql_native_password', buffered=True) return db
from random import randint from locust import HttpUser, tag, task, between, constant from config.config import retrieve_config config = retrieve_config() class IotUser(HttpUser): areas = ['Area A', 'Area B', 'Area C'] HTTP = 'http://' host = HTTP + "127.0.0.1:8001" # just to avoid error wait_time = constant(30) n_patient = config['initial_patient'] - 1 @tag('iotA') @task def iot_a(self): """ function that simulates the sending of diagnostic data to the Fog A node Returns: """ area = 'Area A' host = config['fog']['elb'][area] id_patient = randint(0, self.n_patient) blood_pressure = randint(30, 119) bmi = randint(16, 39) glucose = randint(35, 499)