diff --git a/src/monitoring/service/MetricsDBTools.py b/src/monitoring/service/MetricsDBTools.py index 84b4b741a45db8e53e5a702a9ae6b56f6df5579d..d7d219a95130d19a352e2307f35b87e0b6a07be8 100644 --- a/src/monitoring/service/MetricsDBTools.py +++ b/src/monitoring/service/MetricsDBTools.py @@ -28,6 +28,7 @@ class MetricsDB(): self.ilp_port=int(ilp_port) self.rest_port=rest_port self.table=table + self.create_table() def write_KPI(self,time,kpi_id,kpi_sample_type,device_id,endpoint_id,service_id,kpi_value): self.socket.connect((self.host,self.ilp_port)) @@ -47,9 +48,19 @@ class MetricsDB(): def run_query(self, sql_query): query_params = {'query': sql_query, 'fmt' : 'json'} url = f"http://{self.host}:{self.rest_port}/exec" - try: - response = requests.get(url, params=query_params) - json_response = json.loads(response.text) - LOGGER.info(json_response) - except requests.exceptions.RequestException as e: - LOGGER.info(f'Error: {e}', file=sys.stderr) + response = requests.get(url, params=query_params) + json_response = json.loads(response.text) + LOGGER.info(f"Query executed, result:{json_response}") + + def create_table(self): + query = f'CREATE TABLE IF NOT EXISTS {self.table}'\ + '(kpi_id SYMBOL,'\ + 'kpi_sample_type SYMBOL,'\ + 'device_id SYMBOL,'\ + 'endpoint_id SYMBOL,'\ + 'service_id SYMBOL,'\ + 'timestamp TIMESTAMP,'\ + 'kpi_value DOUBLE)'\ + 'TIMESTAMP(timestamp);' + self.run_query(query) + LOGGER.info(f"Table {self.table} created")