Template::Timer3pm
Rudimentary profiling for template toolkit
Usage
Template::Timer provides inline timings of the template processing througout your code. It's an overridden version of Template::Context that wraps the "process()" and "include()" methods.
Using Template::Timer is simple.
use Template::Timer;my %config = ( # Whatever your config isINCLUDE_PATH => '/my/template/path',COMPILE_EXT => '.ttc',COMPILE_DIR => '/tmp/tt',);if ( $development_mode ) {$config{ CONTEXT } = Template::Timer->new( %config );}my $template = Template->new( \%config );
Now when you process templates, HTML comments will get embedded in your output, which you can easily grep for. The nesting level is also shown.
<!-- TIMER START: L1 process mainmenu/mainmenu.ttml --><!-- TIMER START: L2 include mainmenu/cssindex.tt --><!-- TIMER START: L3 process mainmenu/cssindex.tt --><!-- TIMER END: L3 process mainmenu/cssindex.tt (17.279 ms) --><!-- TIMER END: L2 include mainmenu/cssindex.tt (17.401 ms) -->....<!-- TIMER END: L3 process mainmenu/footer.tt (3.016 ms) --><!-- TIMER END: L2 include mainmenu/footer.tt (3.104 ms) --><!-- TIMER END: L1 process mainmenu/mainmenu.ttml (400.409 ms) -->
Note that since INCLUDE is a wrapper around PROCESS, calls to INCLUDEs will be doubled up, and slightly longer than the PROCESS call.
Version
Version 1.00
Acknowledgements
Thanks to Randal Schwartz, Bill Moseley, and to Gavin Estey for the original code.
Copyright & license
This library is free software; you can redistribute it and/or modify it under the terms of either the GNU Public License v3, or the Artistic License 2.0.
* http://www.gnu.org/copyleft/gpl.html* http://www.opensource.org/licenses/artistic-license-2.0.php
Releases
10 releases since Debian 4.0 (Etch); the text changed 4 times.