NAME¶
Template::Timer - Rudimentary profiling for Template Toolkit
VERSION¶
Version 1.00
SYNOPSIS¶
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 is
INCLUDE_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.
AUTHOR¶
Andy Lester, "<andy at petdance.com>"
BUGS¶
Please report any bugs or feature requests to "bug-template-timer at
rt.cpan.org", or through the web interface at <
http://rt.cpan.org>.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
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