Mercurial > piecrust2
diff piecrust/rendering.py @ 876:d1095774bfcf
refactor: Fix some issues with record/cache entry collisions, add counters.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 15 Jun 2017 07:33:40 -0700 |
parents | 58e28ba02fb7 |
children | d6d35b2efd04 |
line wrap: on
line diff
--- a/piecrust/rendering.py Thu Jun 15 07:32:19 2017 -0700 +++ b/piecrust/rendering.py Thu Jun 15 07:33:40 2017 -0700 @@ -322,11 +322,15 @@ res = { 'segments': formatted_segments, 'pass_info': _pickle_object(pass_info)} + + app.env.stats.stepCounter('PageRenderSegments') + return res def _do_render_layout(layout_name, page, layout_data): - cur_ctx = page.app.env.render_ctx_stack.current_ctx + app = page.app + cur_ctx = app.env.render_ctx_stack.current_ctx assert cur_ctx is not None assert cur_ctx.page == page @@ -340,10 +344,10 @@ _, engine_name = os.path.splitext(full_names[0]) engine_name = engine_name.lstrip('.') - engine = get_template_engine(page.app, engine_name) + engine = get_template_engine(app, engine_name) try: - with page.app.env.stats.timerScope( + with app.env.stats.timerScope( engine.__class__.__name__ + '_layout'): output = engine.renderFile(full_names, layout_data) except TemplateNotFoundError as ex: @@ -354,6 +358,9 @@ pass_info = cur_ctx.render_passes[PASS_RENDERING] res = {'content': output, 'pass_info': _pickle_object(pass_info)} + + app.env.stats.stepCounter('PageRenderLayout') + return res