def add_metric_sample()

in source/client/python/utils/utils/performance_tracker.py [0:0]


    def add_metric_sample(self, stats_dic, event_counter, from_event, to_event, event_time=None):

        if not event_time:
            event_time = datetime.datetime.now().isoformat()

        # print(stats_dic)
        sorted_keys = sorted(stats_dic.keys())
        # for k in sorted_keys:
        #     print(k)
        start_index = sorted_keys.index(from_event)
        end_index = sorted_keys.index(to_event)

        data = {"EVENT_TIME": event_time}

        for i in range(start_index, end_index):
            # print([sorted_keys[i]])
            # print(stats_dic[sorted_keys[i]])
            # print([sorted_keys[i+1]])
            # print(stats_dic[sorted_keys[i+1]])
            # print("--------")
            key = stats_dic[sorted_keys[i + 1]]["label"]
            value = stats_dic[sorted_keys[i + 1]]["tstmp"] - stats_dic[sorted_keys[i]]["tstmp"]
            data[key] = value

        if event_counter is not None:
            for key, value in sorted(event_counter.evcounter.items()):
                data[key] = value

            event_counter.reset()

        # Self profiling on the batch submission delays
        data["last_batch_submission_delay_ms"] = self.last_batch_submission_delay_ms

        if self.buffered_storage_connector:
            self.buffered_storage_connector.add_sample(data)