aboutsummaryrefslogtreecommitdiffstats
path: root/api/utils/influx.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/utils/influx.py')
-rw-r--r--api/utils/influx.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/api/utils/influx.py b/api/utils/influx.py
index 52a90b61c..9366ed3e9 100644
--- a/api/utils/influx.py
+++ b/api/utils/influx.py
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
import logging
from urlparse import urlsplit
@@ -29,7 +37,7 @@ def get_data_db_client():
def _get_ip(url):
- return urlsplit(url).netloc.split(':')[0]
+ return urlsplit(url).hostname
def _write_data(measurement, field, timestamp, tags):
@@ -53,3 +61,13 @@ def write_data_tasklist(task_id, timestamp, status, error=''):
field = {'status': status, 'error': error}
tags = {'task_id': task_id}
_write_data('tasklist', field, timestamp, tags)
+
+
+def query(query_sql):
+ try:
+ client = get_data_db_client()
+ logger.debug('Start to query: %s', query_sql)
+ return list(client.query(query_sql).get_points())
+ except RuntimeError:
+ logger.error('dispatcher is not influxdb')
+ raise