[](
https://travis-ci.org/tokuhirom/DBIx-Tracer)
# 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](
https://metacpan.org/pod/DBIx::QueryLog). Most part of DBIx::Tracer was taken from DBIx::QueryLog.
# SEE ALSO
[DBIx::QueryLog](
https://metacpan.org/pod/DBIx::QueryLog)
# 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.