Template::Timer(3pm)

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 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.

Version

Version 1.00

Acknowledgements

Thanks to Randal Schwartz, Bill Moseley, and to Gavin Estey for the original code.

Releases

10 releases since Debian 4.0 (Etch); the text changed 4 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7–10
  5. 11–13

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.

From libtemplate-timer-perl 1.00-2.1 in Debian 13 (Trixie). Parsed by carta from the page's man source.