diff options
Diffstat (limited to 'qtip/reporter/console.py')
-rw-r--r-- | qtip/reporter/console.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/qtip/reporter/console.py b/qtip/reporter/console.py index 2b5130a6..64d677ba 100644 --- a/qtip/reporter/console.py +++ b/qtip/reporter/console.py @@ -7,24 +7,40 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +import glob +import json +from os import path + from jinja2 import Environment from jinja2 import FileSystemLoader -from os import path from qtip.base import BaseActor +ROOT_DIR = path.join(path.dirname(__file__), path.pardir, path.pardir) + class ConsoleReporter(BaseActor): - """ - report benchmark result to console - """ + """ report benchmark result to console """ + def __init__(self, config, parent=None): super(ConsoleReporter, self).__init__(config, parent=parent) # TODO (taseer) load template from config - tpl_loader = FileSystemLoader(path.join(path.dirname(__file__), 'templates')) - env = Environment(loader=tpl_loader) - self._template = env.get_template('timeline.j2') + tpl_path = path.join(path.dirname(__file__), 'templates') + tpl_loader = FileSystemLoader(tpl_path) + self._env = Environment(loader=tpl_loader) + self.result_path = path.join(ROOT_DIR, 'collector') + + def load_result(self): + # TODO (taseer) change result directory format more suitable to filter out + result_dirs = glob.glob('{}/20*'.format(self.result_path)) + # select the last (latest) directory for rendering report, result_dirs[-1] + with open(path.join(self.result_path, result_dirs[-1], 'result.json')) as sample: + result = json.load(sample) + return result - def render(self, var_dict): - out = self._template.render(var_dict) + def render(self, metric): + template = self._env.get_template('base.j2') + var_dict = self.load_result() + var_dict['metric_name'] = metric + out = template.render(var_dict) return out |