NAME
DBIx::Tracer - Easy tracer for DBI
SYNOPSIS
use
DBIx::Tracer;
my
$tracer
= DBIx::Tracer->new(
sub
{
my
%args
=
@_
;
say
$args
{dbh};
say
$args
{
time
};
say
$args
{sql};
say
"Bind: $_"
for
@{
$args
{bind_params}};
}
);
DESCRIPTION
DBIx::Tracer is easy tracer for DBI. You can trace a SQL queries without modifying configuration in your application.
You can insert snippets using DBIx::Tracer, and profile it.
GUARD OBJECT
DBIx::Tracer uses Scope::Guard-ish guard object strategy.
DBIx::Tracer->new
installs method modifiers, and DBIx::Tracer->DESTROY
uninstall method modifiers.
You must keep the instance of DBIx::Trace in the context.
METHODS
- DBIx::Tracer->new(CodeRef: $code)
-
my
$tracer
= DBIx::Tracer->new(
sub
{ ... }
);
Create instance of DBIx::Tracer. Constructor takes callback function, will call on after each queries executed.
You must keep this instance you want to logging. Destructor uninstall method modifiers.
CALLBACK OPTIONS
DBIx::Tracer passes following parameters to callback function.
- dbh
-
instance of $dbh.
- sql
-
SQL query in string.
- bind_params : ArrayRef[Str]
-
binded parameters for the query in arrayref.
- time
-
Elapsed times for query in floating seconds.
FAQ
- Why don't you use Callbacks feature in DBI?
-
I don't want to modify DBI configuration in my application for tracing.
AUTHOR
Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>
THANKS TO
xaicron is author of DBIx::QueryLog. Most part of DBIx::Tracer was taken from DBIx::QueryLog.
SEE ALSO
LICENSE
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.