CGI-Application-Plugin-DevPopup
view release on metacpan or search on metacpan
lib/CGI/Application/Plugin/DevPopup/Timing.pm view on Meta::CPAN
}
use strict;
use base qw/Exporter/;
use Time::HiRes qw/gettimeofday tv_interval/;
my $start = [gettimeofday];
sub import
{
my $c = scalar caller;
$c->add_callback( 'devpopup_report', \&_timer_report );
$c->new_hook('devpopup_addtiming');
$c->add_callback( 'devpopup_addtiming', \&_add_time );
foreach my $stage (qw/ init prerun load_tmpl /)
{
$c->add_callback( $stage, sub { _add_time( shift(), $stage, @_ ) } );
}
goto &Exporter::import;
}
sub _timer_report
{
my $app = shift;
my $self = _new_or_self($app);
unshift @$self, { dec => 'start', tod => $start };
_add_time( $app, 'postrun' );
$app->devpopup->add_report(
title => 'Timings',
summary => 'Total runtime: ' . tv_interval( $self->[1]{tod}, $self->[-1]{tod} ) . ' sec.',
report => '<style>
( run in 0.552 second using v1.01-cache-2.11-cpan-49f99fa48dc )