/usr/share/perl5/Dancer/Timer.pm is in libdancer-perl 1.3202+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 98 99 100 101 102 103 104 105 106 | package Dancer::Timer;
our $AUTHORITY = 'cpan:SUKRIA';
#ABSTRACT: a timer for Dancer
$Dancer::Timer::VERSION = '1.3202';
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__
=pod
=encoding UTF-8
=head1 NAME
Dancer::Timer - a timer for Dancer
=head1 VERSION
version 1.3202
=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
Dancer Core Developers
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Alexis Sukrieh.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|