Exemple #1
0
    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))
Exemple #2
0
    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
Exemple #3
0
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))
Exemple #4
0
    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