NAME
Tail::Stat::Plugin - Abstract plugin class
SYNOPSIS
package Tail::Stat::Plugin::apache;
use strict;
use warnings qw(all);
use base qw(Tail::Stat::Plugin);
sub regex { qr/^(\d+)\s+(\d+)/ }
sub process_data {
my ($self,$lref,$pub,$win) = @_;
$pub->{param1} += $lref->[0];
$win->{param2} += $lref->[1];
$win->{count}++;
}
sub process_window {
my ($self,$pub,$prv,$wins) = @_;
$pub->{last_param2} = sum ( map { $_->{param2} || 0 } @$wins ) || 0;
}
METHODS
new
Plugin instance constructor. Usually you don't need to override it's default behavior.
regex
Accessor to main regular expression. Called once during initialization (from constructor).
init_zone($zone,\%public,\%private,\%window)
Called once on zone creating. Usually you can assigns some default values in public statistics.
process_line($line)
Parse single log line and returns array of successfully captured values. Method must returns true value in scalar context, otherwise message will be logged about unprocessed line.
process_data(\@ref,\%public,\%private,\%window)
Receives reference to array of captured values and modify public, private or current window statistics.
process_window(\%public,\%private,\@windows)
Called during closing current window. Common usage is calculate averages from complete windows and save results in public or private statistics.
process_timer($name,\%public,\%private,\@windows)
Processing named timer. Receives timer name and zone statistics. Timer will be renewed unless handler returns false value.
dump_zone($zone,\%public,\%private,\@windows)
Stringify accumulated statistics.
stats_zone($zone,\%public,\%private,\@windows)
Optionally preprocess, and stringify accumulated statistics.
parse_error
Returns default logging level for unparsed lines.
AUTHOR
Oleg A. Mamontov, <oleg@mamontov.net>
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.