I want this too
On 9/1/07, Marcus Ramberg <[EMAIL PROTECTED]> wrote: > > I don't know DBIx::Class::QueryLog, but as a catalyst plugin it looks > fine. Write some tests and ship it to cpan, I want this ;) > > Marcus Ramberg > > On 9/1/07, Fayland Lam <[EMAIL PROTECTED]> wrote: > > hi, guys. > > > > since I can't touch Cory Watson by [EMAIL PROTECTED] <mailto:[EMAIL > > PROTECTED] > > > > so I wonder if this module is fine? > > > > Thanks. > > <mailto:[EMAIL PROTECTED]> > > > > -- > > Fayland Lam // http://www.fayland.org/ > > > > > > package Catalyst::Plugin::DBIC::QueryLog; > > > > use warnings; > > use strict; > > > > use NEXT; > > use DBIx::Class::QueryLog; > > use DBIx::Class::QueryLog::Analyzer; > > > > use base qw/Class::Accessor::Fast/; > > __PACKAGE__->mk_accessors('querylog'); > > > > use vars qw/$VERSION/; > > $VERSION = '0.01'; > > > > sub querylog_analyzer { > > my $c = shift; > > > > return new DBIx::Class::QueryLog::Analyzer({ querylog => > $c->querylog }); > > } > > > > sub prepare { > > my $c = shift; > > $c = $c->NEXT::prepare(@_); > > > > my $model_name = $c->config->{'DBIC::QueryLog'}->{MODEL_NAME} || > 'DBIC'; > > > > my $schema = $c->model($model_name)->schema; > > $c->querylog( new DBIx::Class::QueryLog() ); > > $schema->storage->debugobj( $c->querylog ); > > $schema->storage->debug(1); > > > > return $c; > > } > > > > 1; # End of Catalyst::Plugin::DBIC::QueryLog > > __END__ > > > > =head1 NAME > > > > Catalyst::Plugin::DBIC::QueryLog - Catalyst Plugin for > DBIx::Class::QueryLog! > > > > =head1 SYNOPSIS > > > > # MyApp.pm > > use Catalyst qw/ > > ... > > DBIC::QueryLog # Load this plugin. > > ... > > /; > > > > # myapp.yml > > DBIC::QueryLog: > > MODEL_NAME: DBIC > > > > =head1 USAGE > > > > then in templates: > > > > [% IF c.querylog %] > > <div class="featurebox"> > > <h3>Query Log Report</h3> > > [% SET total = c.querylog.time_elapsed | format('%0.6f') %] > > <div>Total SQL Time: [% total | format('%0.6f') %] seconds</div> > > [% SET qcount = c.querylog.count %] > > <div>Total Queries: [% qcount %]</div> > > [% IF qcount %] > > <div>Avg Statement Time: [% (c.querylog.time_elapsed / qcount) | > format('%0.6f') %] seconds.</div> > > <div> > > <table class="table1"> > > <thead> > > <tr> > > <th colspan="3">5 Slowest Queries</th> > > </tr> > > </thead> > > <tbody> > > <tr> > > <th>Time</th> > > <th>%</th> > > <th>SQL</th> > > </tr> > > [% SET i = 0 %] > > [% FOREACH q = c.querylog_analyzer.get_sorted_queries %] > > <tr class="[% IF loop.count % 2 %]odd[% END %]"> > > <th class="sub">[% q.time_elapsed | format('%0.6f') %] > > <td>[% ((q.time_elapsed / total ) * 100 ) | format('%i') > %]%</td> > > <td>[% q.sql %]</td> > > </th></tr> > > [% IF i == 5 %] > > [% LAST %] > > [% END %] > > [% SET i = i + 1 %] > > [% END %] > > </tbody> > > </table> > > </div> > > [% END %] > > </div> > > [% END %] > > > > =head1 SEE ALSO > > > > L<DBIx::Class::QueryLog> > > > > L< > http://www.onemogin.com/blog/554-profile-your-catalystdbixclass-app-with-querylog.html > > > > > > =head1 AUTHOR > > > > Fayland Lam, C<< <fayland at gmail> >> > > > > =head1 COPYRIGHT & LICENSE > > > > Copyright 2007 Fayland Lam, all rights reserved. > > > > This program is free software; you can redistribute it and/or modify it > > under the same terms as Perl itself. > > > > =cut > > > > _______________________________________________ > > List: Catalyst@lists.rawmode.org > > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst > > Searchable archive: > http://www.mail-archive.com/catalyst@lists.rawmode.org/ > > Dev site: http://dev.catalyst.perl.org/ > > > > > > > -- > With regards > Marcus Ramberg > > _______________________________________________ > List: Catalyst@lists.rawmode.org > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ >
_______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/