Hack pt-query-digest to write events to a file each time it runs.

This commit is contained in:
Daniel Nichter
2013-05-04 14:38:37 -07:00
parent fb70205a15
commit 4bfb634c15

View File

@@ -13504,7 +13504,12 @@ sub main {
} }
} # sample } # sample
if ( $o->get('output') =~ /slowlog/i ) { # XXX
# if ( $o->get('output') =~ /slowlog/i ) {
my $utc_ts = ts(time, 1);
$utc_ts =~ s/:/_/g;
my $events_file = "/tmp/slow.log-$utc_ts";
open my $events_fh, '>', $events_file or die "Cannot open $events_file: $OS_ERROR";
my $w = new SlowLogWriter(); my $w = new SlowLogWriter();
$pipeline->add( $pipeline->add(
name => '--output slowlog', name => '--output slowlog',
@@ -13512,11 +13517,11 @@ sub main {
my ( $args ) = @_; my ( $args ) = @_;
my $event = $args->{event}; my $event = $args->{event};
PTDEBUG && _d('callback: --output slowlog'); PTDEBUG && _d('callback: --output slowlog');
$w->write(*STDOUT, $event); $w->write($events_fh, $event);
return $args; return $args;
}, },
); );
} # print # } # print
# Finally, add aggregator obj for each groupby attrib to the callbacks. # Finally, add aggregator obj for each groupby attrib to the callbacks.
# These aggregating objs should be the last pipeline processes. # These aggregating objs should be the last pipeline processes.