Initial Commit
This commit is contained in:
39
database/perl/vendor/lib/Log/Report/DBIC/Profiler.pm
vendored
Normal file
39
database/perl/vendor/lib/Log/Report/DBIC/Profiler.pm
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# Copyrights 2007-2021 by [Mark Overmeer <markov@cpan.org>].
|
||||
# For other contributors see ChangeLog.
|
||||
# See the manual pages for details on the licensing terms.
|
||||
# Pod stripped from pm file by OODoc 2.02.
|
||||
# This code is part of distribution Log-Report. Meta-POD processed with
|
||||
# OODoc into POD and HTML manual-pages. See README.md
|
||||
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
|
||||
|
||||
package Log::Report::DBIC::Profiler;
|
||||
use vars '$VERSION';
|
||||
$VERSION = '1.31';
|
||||
|
||||
use base 'DBIx::Class::Storage::Statistics';
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Log::Report 'log-report', import => 'trace';
|
||||
use Time::HiRes qw(time);
|
||||
|
||||
|
||||
my $start;
|
||||
|
||||
sub print($) { trace $_[1] }
|
||||
|
||||
sub query_start(@)
|
||||
{ my $self = shift;
|
||||
$self->SUPER::query_start(@_);
|
||||
$start = time;
|
||||
}
|
||||
|
||||
sub query_end(@)
|
||||
{ my $self = shift;
|
||||
$self->SUPER::query_end(@_);
|
||||
trace sprintf "execution took %0.4f seconds elapse", time-$start;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
46
database/perl/vendor/lib/Log/Report/DBIC/Profiler.pod
vendored
Normal file
46
database/perl/vendor/lib/Log/Report/DBIC/Profiler.pod
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Log::Report::DBIC::Profiler - query profiler for DBIx::Class
|
||||
|
||||
=head1 INHERITANCE
|
||||
|
||||
Log::Report::DBIC::Profiler
|
||||
is a DBIx::Class::Storage::Statistics
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use Log::Report::DBIC::Profiler;
|
||||
$schema->storage->debugobj(Log::Report::DBIC::Profiler->new);
|
||||
$schema->storage->debug(1);
|
||||
|
||||
# And maybe (if no exceptions expected from DBIC)
|
||||
$schema->exception_action(sub { panic @_ });
|
||||
|
||||
# Log to syslog
|
||||
use Log::Report;
|
||||
dispatcher SYSLOG => 'myapp'
|
||||
, identity => 'myapp'
|
||||
, facility => 'local0'
|
||||
, flags => "pid ndelay nowait"
|
||||
, mode => 'DEBUG';
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This profile will log DBIx::Class queries via L<Log::Report|Log::Report> to a
|
||||
selected back-end (via a dispatcher, see L<Log::Report::Dispatcher|Log::Report::Dispatcher>)
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
This module is part of Log-Report distribution version 1.31,
|
||||
built on January 15, 2021. Website: F<http://perl.overmeer.net/CPAN/>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Copyrights 2007-2021 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the same terms as Perl itself.
|
||||
See F<http://dev.perl.org/licenses/>
|
||||
|
||||
Reference in New Issue
Block a user