/usr/share/perl5/Dancer/Timer.pm is in libdancer-perl 1.3091+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | package Dancer::Timer;
use strict;
use warnings;
use base 'Dancer::Object';
use Time::HiRes 'gettimeofday', 'tv_interval';
use Dancer::ModuleLoader;
Dancer::Timer->attributes('start_time');
sub init {
my ($self) = @_;
$self->start_time([gettimeofday()]);
}
sub tick {
my ($self) = @_;
my $now = [gettimeofday()];
my $delay = tv_interval($self->start_time, $now);
return sprintf('%0f', $delay);
}
sub to_string {
my ($self) = @_;
$self->tick;
}
1;
__END__
=head1 NAME
Dancer::Timer - a timer for Dancer
=head1 SYNOPSIS
use Dancer::Timer;
my $timer = Dancer::Timer->new();
my $time = $timer->tick;
print "[$time]: Doing something\n";
# (time passes)
$time = $timer->tick
print "[$time]: Doing something else\n";
# (time passes)
$time = $timer->to_string;
print "[$time]: Doing another thing\n";
=head1 DESCRIPTION
Dancer::Timer provides Dancer with a timing object to clock operations. For
example, you might want a logging that shows you when each operation happened
(at what time) to determine how long each operation was in order to know where
to focus on for possible bugs or perhaps unnecessary slowness.
Dancer uses Dancer::Timer in facilities that want to provide this for you. Any
plugin author is more than welcome to use it as well.
=head1 ATTRIBUTES
=head2 start_time
Retains the starting time of the timer. The default value is when the object is
created. It fetches that using C<gettimeofday> from L<Time::HiRes>.
=head1 METHODS
=head2 init
This method is called when C<< ->new() >> is called. It initializes the
C<start_time> attribute.
=head2 tick
Creates a tick in the timer and returns the interval between the C<start_time>
and now.
=head2 to_string
Same as C<tick>, just more expressive.
=head1 AUTHOR
Alexis Sukrieh
=head1 LICENSE AND COPYRIGHT
Copyright 2009-2010 Alexis Sukrieh.
This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
|