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.