WWW::Opentracker::Stats::Mode::TCP4 - WWW::Opentracker::Stats::Mode::TCP4 documentation


WWW-Opentracker-Stats documentation Contained in the WWW-Opentracker-Stats distribution.

Index


Code Index:

NAME

Top

WWW::Opentracker::Stats::Mode::TCP4

DESCRIPTION

Top

Parses the tcp4 statistics from opentracker.

METHODS

Top

parse_stats

 Args: $self, $payload

Decodes the plain text data retrieved from the tcp4 statistics of opentracker.

The payload looks like this (no indentation): 119 39 33106 seconds (9 hours) opentracker tcp4 stats, 0 conns/s :: 0 success/s.

SEE ALSO

Top

WWW::Opentracker::Stats::Mode

AUTHOR

Top

Knut-Olav Hoven, <knutolav@gmail.com>

COPYRIGHT AND LICENSE

Top


WWW-Opentracker-Stats documentation Contained in the WWW-Opentracker-Stats distribution.
package WWW::Opentracker::Stats::Mode::TCP4;

use strict;
use warnings;

use parent qw/
    WWW::Opentracker::Stats::Mode
    Class::Accessor::Fast
/;


__PACKAGE__->_format('txt');
__PACKAGE__->_mode('tcp4');

__PACKAGE__->mk_accessors(qw/_stats/);


sub parse_stats {
    my ($self, $payload) = @_;

    my ($total, $announces, $seconds, $total_per_sec, $ann_per_sec)
        = $payload =~ m{\A
                        (\d+) \s
                        (\d+) \s
                        (\d+) \s seconds \s \( \d+ \s hours \) \s
                        opentracker \s tcp4 \s stats , \s
                                (\d+) \s conns/s \s :: \s (\d+) \s success/s \.
                }xms
        or die "Unable to parse payload: $payload";

    my %stats = (
        'total'             => $total,
        'announces'         => $announces,
        'uptime'            => $seconds,
        'total_per_sec'     => $total_per_sec,
        'announces_per_sec' => $ann_per_sec,
    );

    return \%stats;
}


1;