recognize seconds with and without fractional part
authorMatthias Bethke <mbe@financial.com>
Tue, 22 Nov 2016 16:53:30 +0000 (23:53 +0700)
committerMatthias Bethke <mbe@financial.com>
Tue, 22 Nov 2016 16:53:30 +0000 (23:53 +0700)
bindings/perl/lib/Collectd/MockDaemon.pm
bindings/perl/lib/Collectd/Unixsock.pm

index abf058f..9d784b7 100644 (file)
@@ -56,8 +56,9 @@ sub daemon {
 
 sub listval {
     my $trunc_now = substr(time, 0, -1);
+    my $toggle;
     return print_nvalues(scalar @metrics) .
-    join('', map { sprintf("%s%d.%d %s\n", $trunc_now, rand(10), rand(1000), $_) } @metrics);
+    join('', map { $trunc_now . int(rand(10)) . ($toggle=!$toggle ? ".".int(rand(1000)) : '') . " $_\n" } @metrics);
 }
 
 sub getval {
index 96287eb..f9db922 100644 (file)
@@ -383,7 +383,7 @@ sub listval_filter
        (exists $args{plugin_instance}   ? "-$args{plugin_instance}" : '(?:-[^/]+)?') .
        (exists $args{type}              ? "/$args{type}"            : '/[^/-]+') .
        (exists $args{type_instance}     ? "-$args{type_instance}"   : '(?:-[^/]+)?');
-       $pattern = qr/^\d+\.\d+ $pattern$/;
+       $pattern = qr/^\d+(?:\.\d+)? $pattern$/;
 
        my $msg = $self->_socket_command('LISTVAL') or return;
        ($nresults, $msg) = split / /, $msg, 2;