The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Profile - DBI query profiler
Version 1.0

Copyright (c) 1999,2000 Jeff Lathan, Kerry Clendinning.  
All rights reserved. 

This program is free software; you can redistribute it and/or modify it 
under the same terms as Perl itself.

SYNOPSIS

use DBIx::Profile; or "perl -MDBIx::Profile <program>" 
use DBI;
$dbh->printProfile();

DESCRIPTION

DBIx::Profile is a quick and easy, and mostly transparent, profiler
for scripts using DBI.  It collects information on the query 
level, and keeps track of first, failed, normal, and total amounts
(count, wall clock, cput time) for each function on the query.

NOTE: DBIx::Profile use Time::HiRes to clock the wall time and
the old standby times() to clock the cpu time.  The cpu time is
pretty coarse.

DBIx::Profile can also trace the execution of queries.  It will print 
a timestamp and the query that was called.  This is optional, and 
occurs only when the environment variable DBIXPROFILETRACE is set 
to 1. (ex: (bash) export DBIXPROFILETRACE=1).

Not all DBI methods are profiled at this time.
Except for replacing the existing "use" and "connect" statements,
DBIx::Profile allows DBI functions to be called as usual on handles.

Prints information to STDERR, prefaced with the pid.

RECIPE

1) Add "use DBIx::Profile" or execute "perl -MDBIx::Profile <program>"
2) Optional: add $dbh->printProfile (will execute during 
   disconnect otherwise)
3) Run code
4) Data output will happen at printProfile or $dbh->disconnect;

METHODS

printProfile
   $dbh->printProfile();

   Will print out the data collected.
   If this is not called before disconnect, disconnect will call
   printProfile.

setLogFile
   $dbh->setLogFile("ProfileOutput.txt");

   Will save all output to the file.

AUTHORS

Jeff Lathan, lathan@pobox.com
Kerry Clendinning, kerry@deja.com

Aaron Lee, aaron@pointx.org
Michael G Schwern, schwern@pobox.com

SEE ALSO

L<perl(1)>, L<DBI>