summaryrefslogtreecommitdiffstats
path: root/api/utils/influx.py
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2016-12-28 10:27:14 +0000
committerchenjiankun <chenjiankun1@huawei.com>2016-12-28 10:34:55 +0000
commit254414758828a12a353e0670704faa5bcb792cae (patch)
treec5b9b5d7fc02e62dd0e917b8cc5b3269e6c9c742 /api/utils/influx.py
parent827e341ed222a562a87d8f238fc0a6a16cfb1393 (diff)
Record test case names when run a task using API
JIRA: YARDSTICK-509 Currently we use influxdb as database and will not record test case name when run a test case. So if we must offer test case name if we want to get result from API. Regarding future requirement, I create sqlite database and alchemy orm framework. And record test case name when run a test case. So we needn't offer test case any more when call for get result API. Change-Id: I7d7dc24543a33918546267591f7bdcd0742928cb Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'api/utils/influx.py')
-rw-r--r--api/utils/influx.py42
1 files changed, 11 insertions, 31 deletions
diff --git a/api/utils/influx.py b/api/utils/influx.py
index 9366ed3e9..d4b070fb4 100644
--- a/api/utils/influx.py
+++ b/api/utils/influx.py
@@ -7,10 +7,10 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import logging
+import ConfigParser
from urlparse import urlsplit
from influxdb import InfluxDBClient
-import ConfigParser
from api import conf
@@ -21,46 +21,26 @@ def get_data_db_client():
parser = ConfigParser.ConfigParser()
try:
parser.read(conf.OUTPUT_CONFIG_FILE_PATH)
- dispatcher = parser.get('DEFAULT', 'dispatcher')
- if 'influxdb' != dispatcher:
+ if 'influxdb' != parser.get('DEFAULT', 'dispatcher'):
raise RuntimeError
- ip = _get_ip(parser.get('dispatcher_influxdb', 'target'))
- username = parser.get('dispatcher_influxdb', 'username')
- password = parser.get('dispatcher_influxdb', 'password')
- db_name = parser.get('dispatcher_influxdb', 'db_name')
- return InfluxDBClient(ip, conf.PORT, username, password, db_name)
+ return _get_client(parser)
except ConfigParser.NoOptionError:
logger.error('can not find the key')
raise
-def _get_ip(url):
- return urlsplit(url).hostname
+def _get_client(parser):
+ ip = _get_ip(parser.get('dispatcher_influxdb', 'target'))
+ username = parser.get('dispatcher_influxdb', 'username')
+ password = parser.get('dispatcher_influxdb', 'password')
+ db_name = parser.get('dispatcher_influxdb', 'db_name')
+ return InfluxDBClient(ip, conf.PORT, username, password, db_name)
-def _write_data(measurement, field, timestamp, tags):
- point = {
- 'measurement': measurement,
- 'fields': field,
- 'time': timestamp,
- 'tags': tags
- }
-
- try:
- client = get_data_db_client()
-
- logger.debug('Start to write data: %s', point)
- client.write_points([point])
- except RuntimeError:
- logger.debug('dispatcher is not influxdb')
-
-
-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 _get_ip(url):
+ return urlsplit(url).hostname
def query(query_sql):