def post_input(self): # retrieve the dev instance dev_id = Util.get_id(self, "dev") if dev_id in device_instance: dev = device_instance[dev_id] else: dev = Util.get_cyclic_random_sensor_data(init_elapsed_time=0, period=300, min=-10, max=45, error_rate=0.1) device_instance[dev_id] = dev json_data = { "id": Util.get_id(self, "dev"), "value": dev.next_value(), "seq": dev.get_message_seq(), "time": Util.get_current_time() } response = self.client.post( path="/api/v1/resources/topics//locust/input10/2", data=Util.get_json_with_size(json_data, 1000), auth=None, headers={ "Authorization": "Bearer {}".format(Util.get_access_token()), "Content-Type": "application/json" }, name=Util.get_class_name(self))
def pub(self): # retrieve the dev instance dev_id = Util.get_id(self.parent, "dev", Util.get_class_name(self)) if dev_id in device_instance: dev = device_instance[dev_id] else: dev = Util.get_cyclic_random_sensor_data(init_elapsed_time=0, period=300, min=-10, max=45, error_rate=0.1) device_instance[dev_id] = dev # create json data json_data = { "id": dev_id, "value": dev.next_int(), "seq": dev.get_message_seq(), "time": Util.get_current_time() } # send data to target Util.publish_to_eventhubs("tempsensor", Util.get_json_with_size(json_data, 1000)) events.request_success.fire(request_type='publish', name=Util.get_class_name(self), response_time=0, exception=None, response_length=1000) return
class Device2(FastHttpUser): wait_time = between(1, 2) random2 = Util.get_cyclic_random_sensor_data(init_elapsed_time=0, period=300, min=10, max=45, error_rate=0.1) # instance of task can represent one type. (One device may send various data) @task def post_input(self): # retrieve the dev instance dev_id = Util.get_id(self, "dev") if dev_id in device_instance: dev = device_instance[dev_id] else: dev = Util.get_cyclic_random_sensor_data(init_elapsed_time=0, period=300, min=10, max=45, error_rate=0.1) device_instance[dev_id] = dev json_data = { "id": Util.get_id(self, "dev"), "value": dev.next_int(), "op": "UPSERT", "seq": dev.get_message_seq(), "time": Util.get_current_time() } response = self.client.post( path="/api/v1/resources/topics//locust/input2", data=Util.get_json_with_size(json_data, 1000), auth=None, headers={ "Authorization": "Bearer {}".format(Util.get_access_token()), "Content-Type": "application/json" }, name=Util.get_class_name(self))
def pub(self): # retrieve the dev instance dev_id = Util.get_id(self.parent, "dev", Util.get_class_name(self)) if dev_id in device_instance: dev = device_instance[dev_id] else: dev = Util.get_cyclic_random_sensor_data(init_elapsed_time=0, period=300, min=-10, max=45, error_rate=0.1) device_instance[dev_id] = dev # create json data json_data = { "id": dev_id, "value": dev.next_int(), "seq": dev.get_message_seq(), "time": Util.get_current_time() } # send data to target rc, mid = self.parent.client.publish("/locust/mqtt/1", Util.get_json_with_size(json_data, 1000), qos=0, retain=True) if rc: events.request_failure.fire( request_type='publish', name=Util.get_class_name(self), response_time=0, exception=rc, response_length=1000 ) else: events.request_success.fire( request_type='publish', name=Util.get_class_name(self), response_time=0, response_length=1000, ) return