Net-Statsd-Server

 view release on metacpan or  search on metacpan

lib/Net/Statsd/Server/Backend/Elasticsearch.pm  view on Meta::CPAN

  my $statString = '';
  my $numStats = 0;
  my $key;
  my @counts;
  my @timers;
  my @timer_data;

  $timestamp *= 1000;

  for my $key (keys %{ $metrics->{counters} }) {
    #my @keys = split m{\.}, $key;
    if (defined $elasticFilter && $key !~ $elasticFilter) {
      next;
    }
    my $value = $metrics->{counters}->{$key};
    #push @counts, {
    #  ns  => $keys[0] || '',
    #  grp => $keys[1] || '',
    #  tgt => $keys[2] || '',
    #  act => $keys[3] || '',
    #  val => $value,
    #};
    push @counts, {
      key => $key,
      counter => $value,
      '@timestamp' => $timestamp,
    };
    $numStats++;
  }

  for my $key (keys %{ $metrics->{timers} }) {
    my @keys = split m{\.}, $key;
    my $series = $metrics->{timers}->{$key};
    if (defined $elasticFilter && $key !~ $elasticFilter) {
      next;
    }
    for my $keyTimer (keys %{ $series }) {
      my $value = $series->{$keyTimer};
      push @timers, {
        key => $key,
        timer => $value,
	'@timestamp' => $timestamp,

lib/Net/Statsd/Server/Backend/Elasticsearch.pm  view on Meta::CPAN

#	grp => $keys[1] || '',
#	tgt => $keys[2] || '',
#	act => $keys[3] || '',
#	val => $value,
#	'@timestamp' => $timestamp,
#     };
    }
  }

  for my $key (keys %{ $metrics->{timer_data} }) {
    my @keys = split m{\.}, $key;
    if (defined $elasticFilter && $key !~ $elasticFilter) {
      next;
    }
    my $value = $metrics->{timer_data}->{$key};
    $value->{'@timestamp'} = $timestamp;
    $value->{key} = $key;
    if (defined $value->{histogram}) {
      for my $keyH (keys %{ $value->{histogram} }) {
        $value->{$keyH} = $value->{histogram}->{$keyH};
      }

lib/Net/Statsd/Server/Backend/Rrdtool.pm  view on Meta::CPAN

# Not on CPAN, usually provided by 'rrdtool'
use RRDs;

my $debug = 0;
my $flushInterval;
my $rrdPath;
my $stats = {};

sub _dir_file {
  my ($key) = @_;
  my @key = split m{\.}, $key;
  my $filename = join('/', @key) . '.rrd';
  my $fullfile = File::Spec->catfile($CONFIG->{path}, $filename);
  my $basename = File::Basename::basename($filename);
  my $folder = File::Basename::dirname($fullfile);
  #warn "folder=$folder base=$basename full=$fullfile\n";
  return ($folder, $basename, $fullfile);
}

sub write_counter {
  my ($self, @args) = @_;

lib/Test/Statsd.pm  view on Meta::CPAN

      },
      on_eof => sub { $hdl->destroy },
    );
  };
  $cv->recv();
  return $self->{_flush_data};
}

sub hashify {
  my ($self, $str) = @_;
  my @lines = split m{\r?\n}, $str;
  my $stats;
  for (@lines) {
    $_ =~ s{^ \s* (\S*) \s* $}{$1}x;
    next unless defined;
    my ($key, $val, $ts) = split;
    $stats->{$key} = $val;
  }
  return $stats;
}



( run in 1.383 second using v1.01-cache-2.11-cpan-71847e10f99 )