File Coverage

blib/lib/Measure/Everything/Adapter/InfluxDB/UDP.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition 1 4 25.0
subroutine 7 7 100.0
pod 0 2 0.0
total 31 36 86.1


line stmt bran cond sub pod time code
1 7     7   15188364 use strict;
  7         31  
  7         399  
2 7     7   52 use warnings;
  7         13  
  7         833  
3              
4             package Measure::Everything::Adapter::InfluxDB::UDP;
5             # ABSTRACT: A Measure::Everything adapter to feed InfluxDB through UDP.
6             $Measure::Everything::Adapter::InfluxDB::UDP::VERSION = '0.01';
7              
8 7     7   476 use IO::Socket::INET;
  7         14043  
  7         326  
9              
10 7     7   5383 use base qw(Measure::Everything::Adapter::Base);
  7         18  
  7         1437  
11 7     7   3343 use InfluxDB::LineProtocol qw(data2line);
  7         26994  
  7         43  
12              
13             sub init {
14 6     6 0 182 my $self = shift;
15 6         24 my %config = @_;
16             my $socket = IO::Socket::INET->new(
17             PeerAddr => $config{host} || $config{addr} || 'localhost',
18 6   0     113 PeerPort => $config{port} || 8089,
      50        
19             Proto => 'udp',
20             ReuseAddr => 1,
21             );
22 6         2837 $self->{socket} = $socket;
23 6         22 return $self;
24             }
25              
26             sub write {
27 6     6 0 6000898 my $self = shift;
28 6         52 my $line = data2line(@_);
29 6         992 return $self->{socket}->send( $line );
30             }
31              
32             1;
33              
34             __END__