X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=bindings%2Fperl%2FCollectd%2FUnixsock.pm;h=199a47c5ae304515d2e1ac5b6c84f796bd55951e;hb=24b8995d6ffaba6e1ad59cc330938466454059e7;hp=eb6e389e34b823d1df792f61f854c3ae183688eb;hpb=b2a7cb85e09f67cbaf114eb64bf736f3a24d9d55;p=collectd.git diff --git a/bindings/perl/Collectd/Unixsock.pm b/bindings/perl/Collectd/Unixsock.pm index eb6e389e..199a47c5 100644 --- a/bindings/perl/Collectd/Unixsock.pm +++ b/bindings/perl/Collectd/Unixsock.pm @@ -196,7 +196,7 @@ value. On error false is returned. =cut -sub getval +sub getval # {{{ { my $obj = shift; my %args = @_; @@ -242,7 +242,64 @@ sub getval } return ($ret); -} # getval +} # }}} sub getval + +=item I<$res> = I<$obj>-EB (I<%identifier>); + +Requests a threshold from the daemon. On success a hash-ref is returned with +the threshold data. On error false is returned. + +=cut + +sub getthreshold # {{{ +{ + my $obj = shift; + my %args = @_; + + my $status; + my $fh = $obj->{'sock'} or confess ('object has no filehandle'); + my $msg; + my $identifier; + + my $ret = {}; + + $identifier = _create_identifier (\%args) or return; + + $msg = 'GETTHRESHOLD ' . _escape_argument ($identifier) . "\n"; + _debug "-> $msg"; + print $fh $msg; + + $msg = <$fh>; + chomp ($msg); + _debug "<- $msg\n"; + + ($status, $msg) = split (' ', $msg, 2); + if ($status <= 0) + { + $obj->{'error'} = $msg; + return; + } + + for (my $i = 0; $i < $status; $i++) + { + my $entry = <$fh>; + chomp ($entry); + _debug "<- $entry\n"; + + if ($entry =~ m/^([^:]+):\s*(\S.*)$/) + { + my $key = $1; + my $value = $2; + + $key =~ s/^\s+//; + $key =~ s/\s+$//; + + $ret->{$key} = $value; + } + } + + return ($ret); +} # }}} sub getthreshold =item I<$obj>-EB (I<%identifier>, B