file: $CPAN/authors/id/T/TI/TIMB/Apache-Status-DBI-v1.0.0.tar.gz size: 4562 bytes md5: 15e92e4c765793ae850191f9b02e8d83
I needed an Apache::Status plugin to show all DBI connections and statements. I couldn't see one so I wrote one... It uses the fact that DBI (>= 1.49) now keeps weak refs to child handles, so it's possible to drill-down through every DBI handle that exists. I've appended a sample of the output. (It's copied from the web page so has lost the bolding and dimming that the real output uses in places.) Enjoy! Tim. ---------------------------------------------------------------------------------------------------------- DBI 1.55 - Drivers, Connections and Statements 4 drivers loaded: DBM, Sponge, ExampleP, Gofer ---------------------------------------------------------------------------------------------------------- DBD::DBM version 0.03, 2 dbh (2 cached, 2 active) DBI::dr=HASH(0x18f3010) DSN "dbm_type=SDBM_File;lockfile=0" DBI::db=HASH(0x193e374) Attributes: Active, Executed, RaiseError, ShowErrorStatement, AutoCommit Attributes: ErrCount=1, TraceLevel=0, FetchHashKeyName='NAME', LongReadLen=80, Username=undef Statement: SELECT dKey, dVal FROM fruit DSN "dbm_type=SDBM_File;mldbm=;lockfile=0;f_dir=/Users/timbo/dbi/trunk/test_output" DBI::db=HASH(0x192256c) Attributes: Active, Executed, RaiseError, ShowErrorStatement, AutoCommit Attributes: ErrCount=0, TraceLevel=0, FetchHashKeyName='NAME', LongReadLen=80, Username=undef Statement: DELETE FROM SDBM_File_fruit WHERE dVal='to delete' ---------------------------------------------------------------------------------------------------------- DBD::ExampleP version 12.009153, 5 dbh (5 cached, 5 active) DBI::dr=HASH(0x18a6bc4) DSN "." DBI::db=HASH(0x18f0b18) Attributes: Active, RaiseError, AutoCommit Attributes: ErrCount=0, TraceLevel=0, FetchHashKeyName='NAME', LongReadLen=80, Username=undef DSN "" DBI::db=HASH(0x18ef52c) Attributes: Active, Executed, RaiseError, AutoCommit Attributes: ErrCount=3, TraceLevel=0, FetchHashKeyName='NAME', LongReadLen=80, Username='' Statement: SELECT name FROM t sth: 1 (1 cached, 0 active) sth DBI::st=HASH(0x195ec00) Attributes: Executed, RaiseError Attributes: ErrCount=0, TraceLevel=0, FetchHashKeyName='NAME', LongReadLen=80 Statement: select name from ? ParamValues: 1='.' Attributes: NUM_OF_PARAMS=1, NUM_OF_FIELDS=1, CursorName=undef Rows: 40 ---------------------------------------------------------------------------------------------------------- Tim.