summaryrefslogtreecommitdiffstats
path: root/qtip/reporter/console.py
diff options
context:
space:
mode:
Diffstat (limited to 'qtip/reporter/console.py')
-rw-r--r--qtip/reporter/console.py34
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