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
   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.