diff options
author | Yujun Zhang <zhang.yujunz@zte.com.cn> | 2017-01-19 16:58:46 +0800 |
---|---|---|
committer | Yujun Zhang <zhang.yujunz@zte.com.cn> | 2017-01-29 20:34:56 +0800 |
commit | f2d021c72b38845954755bab54aa13b4b2aad725 (patch) | |
tree | 384b0aa7772facb1e8f836a4741f8151ef119901 /qtip/collector | |
parent | a42b9a6ac576b11403955ff38df6cc58cf02abb7 (diff) |
Refactor loader classes
- rename BaseLoader to YamlFileLoader as base class of QTIP specs loader
- create an abstract BaseLoader
- create FileLoader for logfile collector
Change-Id: I0c992cd847fc0dce4fdd73a13c1cdbc406c84532
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'qtip/collector')
-rw-r--r-- | qtip/collector/base.py | 2 | ||||
-rw-r--r-- | qtip/collector/logfile.py | 24 |
2 files changed, 26 insertions, 0 deletions
diff --git a/qtip/collector/base.py b/qtip/collector/base.py index cd8fc797..2a25455c 100644 --- a/qtip/collector/base.py +++ b/qtip/collector/base.py @@ -10,3 +10,5 @@ class BaseCollector(object): """performance metrics collector""" + def __init__(self, config): + self._config = config diff --git a/qtip/collector/logfile.py b/qtip/collector/logfile.py index 6528ea9f..19780aaa 100644 --- a/qtip/collector/logfile.py +++ b/qtip/collector/logfile.py @@ -9,6 +9,30 @@ from base import BaseCollector +from qtip.base.constant import CollectorProp as CProp +from qtip.loader.file import FileLoader + class LogfileCollector(BaseCollector): """collect performance metrics from log files""" + + def __init__(self, config, paths=None): + super(LogfileCollector, self).__init__(config) + self.loader = FileLoader('.', paths) + + def collect(self): + captured = {} + for item in self._config[CProp.LOGS]: + captured.update(self._parse_log(item)) + return captured + + def _parse_log(self, log_item): + captured = {} + # TODO(yujunz) select parser by name + if CProp.GREP in log_item: + for rule in log_item[CProp.GREP]: + captured.update(self._grep(log_item[CProp.FILENAME], rule)) + return captured + + def _grep(self, filename, rule): + return {} |