diff options
Diffstat (limited to 'api/utils/influx.py')
-rw-r--r-- | api/utils/influx.py | 20 |
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 |