diff options
Diffstat (limited to 'yardstick/dispatcher')
-rw-r--r-- | yardstick/dispatcher/base.py | 4 | ||||
-rw-r--r-- | yardstick/dispatcher/file.py | 2 | ||||
-rw-r--r-- | yardstick/dispatcher/http.py | 2 | ||||
-rw-r--r-- | yardstick/dispatcher/influxdb.py | 38 |
4 files changed, 11 insertions, 35 deletions
diff --git a/yardstick/dispatcher/base.py b/yardstick/dispatcher/base.py index 09ce8d1e8..a1c858297 100644 --- a/yardstick/dispatcher/base.py +++ b/yardstick/dispatcher/base.py @@ -38,10 +38,10 @@ class Base(object): raise RuntimeError("No such dispatcher_type %s" % dispatcher_type) @staticmethod - def get(config): + def get(conf, config): """Returns instance of a dispatcher for dispatcher type. """ - return Base.get_cls(config["type"])(config) + return Base.get_cls(conf["type"])(conf, config) @abc.abstractmethod def record_result_data(self, data): diff --git a/yardstick/dispatcher/file.py b/yardstick/dispatcher/file.py index 6fc81d419..8acd5dfbb 100644 --- a/yardstick/dispatcher/file.py +++ b/yardstick/dispatcher/file.py @@ -29,7 +29,7 @@ class FileDispatcher(DispatchBase): __dispatcher_type__ = "File" - def __init__(self, conf): + def __init__(self, conf, config): super(FileDispatcher, self).__init__(conf) self.result = [] diff --git a/yardstick/dispatcher/http.py b/yardstick/dispatcher/http.py index 790086155..e3bcbc89b 100644 --- a/yardstick/dispatcher/http.py +++ b/yardstick/dispatcher/http.py @@ -51,7 +51,7 @@ class HttpDispatcher(DispatchBase): __dispatcher_type__ = "Http" - def __init__(self, conf): + def __init__(self, conf, config): super(HttpDispatcher, self).__init__(conf) self.headers = {'Content-type': 'application/json'} self.timeout = CONF.dispatcher_http.timeout diff --git a/yardstick/dispatcher/influxdb.py b/yardstick/dispatcher/influxdb.py index d388d28a1..10fff4d1f 100644 --- a/yardstick/dispatcher/influxdb.py +++ b/yardstick/dispatcher/influxdb.py @@ -15,7 +15,6 @@ import time import requests import six -from oslo_config import cfg from oslo_serialization import jsonutils from third_party.influxdb.influxdb_line_protocol import make_lines @@ -23,30 +22,6 @@ from yardstick.dispatcher.base import Base as DispatchBase LOG = logging.getLogger(__name__) -CONF = cfg.CONF -influx_dispatcher_opts = [ - cfg.StrOpt('target', - default='http://127.0.0.1:8086', - help='The target where the http request will be sent. ' - 'If this is not set, no data will be posted. For ' - 'example: target = http://hostname:1234/path'), - cfg.StrOpt('db_name', - default='yardstick', - help='The database name to store test results.'), - cfg.StrOpt('username', - default='root', - help='The user name to access database.'), - cfg.StrOpt('password', - default='root', - help='The user password to access database.'), - cfg.IntOpt('timeout', - default=5, - help='The max time in seconds to wait for a request to ' - 'timeout.'), -] - -CONF.register_opts(influx_dispatcher_opts, group="dispatcher_influxdb") - class InfluxdbDispatcher(DispatchBase): """Dispatcher class for posting data into an influxdb target. @@ -54,13 +29,14 @@ class InfluxdbDispatcher(DispatchBase): __dispatcher_type__ = "Influxdb" - def __init__(self, conf): + def __init__(self, conf, config): super(InfluxdbDispatcher, self).__init__(conf) - self.timeout = CONF.dispatcher_influxdb.timeout - self.target = CONF.dispatcher_influxdb.target - self.db_name = CONF.dispatcher_influxdb.db_name - self.username = CONF.dispatcher_influxdb.username - self.password = CONF.dispatcher_influxdb.password + db_conf = config['yardstick'].get('dispatcher_influxdb', {}) + self.timeout = int(db_conf.get('timeout', 5)) + self.target = db_conf.get('target', 'http://127.0.0.1:8086') + self.db_name = db_conf.get('db_name', 'yardstick') + self.username = db_conf.get('username', 'root') + self.password = db_conf.get('password', 'root') self.influxdb_url = "%s/write?db=%s" % (self.target, self.db_name) self.raw_result = [] self.case_name = "" |