def save_data_points()

in decisionai_plugin/common/tsanaclient.py [0:0]


    def save_data_points(self, parameters, metric_id, dimensions, timestamps, values, fields=None, field_values=None, push_data_type='AnomalyDetection'):
        try: 
            if len(values) <= 0: 
                raise Exception('empty values')

            body = {
                "metricId": metric_id,
                "dimensions": dimensions,
                "timestamps": timestamps, 
                "values": values,
                "pushDataType": push_data_type
            }

            if fields and len(fields) > 0 and field_values and len(field_values) > 0:
                body['fields'] = fields
                body['fieldValues'] = field_values

            self.post(INGESTION_ENDPOINT if IS_INTERNAL else parameters['apiEndpointV2'] + INGESTION_API, parameters[INSTANCE_ID_KEY], parameters['apiKey'], parameters['groupId'] + USER_ADDR, '/pushData', body)
            return STATUS_SUCCESS, ''
        except Exception as e:
            return STATUS_FAIL, str(e)