X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=bindings%2Fperl%2Flib%2FCollectd.pm;h=c1adf4426212f3c6da5800853be49611a899730c;hb=3faf514fd9b869cadda0f895e14e5036313c7781;hp=557950cb3e5747d24832eb41b01cf9f16b5a9553;hpb=e5c6a442843929db1880035866fd6b21026dda56;p=collectd.git diff --git a/bindings/perl/lib/Collectd.pm b/bindings/perl/lib/Collectd.pm index 557950cb..c1adf442 100644 --- a/bindings/perl/lib/Collectd.pm +++ b/bindings/perl/lib/Collectd.pm @@ -42,6 +42,7 @@ our %EXPORT_TAGS = ( plugin_register plugin_unregister plugin_dispatch_values + plugin_get_interval plugin_write plugin_flush plugin_flush_one @@ -116,6 +117,7 @@ my @fc_plugins : shared = (); my %cf_callbacks : shared = (); my %types = ( + TYPE_CONFIG, "config", TYPE_INIT, "init", TYPE_READ, "read", TYPE_WRITE, "write", @@ -135,6 +137,12 @@ my %fc_exec_names = ( FC_TARGET, "invoke" ); +my %fc_cb_types = ( + FC_CB_EXEC, "exec", + FC_CB_CREATE, "create", + FC_CB_DESTROY, "destroy" +); + foreach my $type (keys %types) { $plugins[$type] = &share ({}); } @@ -164,6 +172,7 @@ sub plugin_call_all { my $type = shift; my %plugins; + my $interval; our $cb_name = undef; @@ -172,7 +181,9 @@ sub plugin_call_all { } if (TYPE_LOG != $type) { - DEBUG ("Collectd::plugin_call: type = \"$type\", args=\"@_\""); + DEBUG ("Collectd::plugin_call: type = \"$type\" (" + . $types{$type} . "), args=\"" + . join(', ', map { defined($_) ? $_ : '' } @_) . "\""); } if (! defined $plugins[$type]) { @@ -185,13 +196,15 @@ sub plugin_call_all { %plugins = %{$plugins[$type]}; } + $interval = plugin_get_interval (); + foreach my $plugin (keys %plugins) { my $p = $plugins{$plugin}; my $status = 0; if ($p->{'wait_left'} > 0) { - $p->{'wait_left'} -= $interval_g; + $p->{'wait_left'} -= $interval; } next if ($p->{'wait_left'} > 0); @@ -218,11 +231,11 @@ sub plugin_call_all { if ($status) { $p->{'wait_left'} = 0; - $p->{'wait_time'} = $interval_g; + $p->{'wait_time'} = $interval; } elsif (TYPE_READ == $type) { - if ($p->{'wait_time'} < $interval_g) { - $p->{'wait_time'} = $interval_g; + if ($p->{'wait_time'} < $interval) { + $p->{'wait_time'} = $interval; } $p->{'wait_left'} = $p->{'wait_time'}; @@ -267,7 +280,8 @@ sub plugin_register { my $data = shift; DEBUG ("Collectd::plugin_register: " - . "type = \"$type\", name = \"$name\", data = \"$data\""); + . "type = \"$type\" (" . $types{$type} + . "), name = \"$name\", data = \"$data\""); if (! ((defined $type) && (defined $name) && (defined $data))) { ERROR ("Usage: Collectd::plugin_register (type, name, data)"); @@ -303,7 +317,7 @@ sub plugin_register { } %p = ( - wait_time => $interval_g, + wait_time => plugin_get_interval (), wait_left => 0, cb_name => $data, ); @@ -322,7 +336,8 @@ sub plugin_unregister { my $type = shift; my $name = shift; - DEBUG ("Collectd::plugin_unregister: type = \"$type\", name = \"$name\""); + DEBUG ("Collectd::plugin_unregister: type = \"$type\" (" + . $types{$type} . "), name = \"$name\""); if (! ((defined $type) && (defined $name))) { ERROR ("Usage: Collectd::plugin_unregister (type, name)"); @@ -454,35 +469,6 @@ sub plugin_flush { } } -sub plugin_flush_one { - my $timeout = shift; - my $name = shift; - - WARNING ("Collectd::plugin_flush_one is deprecated - " - . "use Collectd::plugin_flush instead."); - - if (! (defined ($timeout) && defined ($name))) { - ERROR ("Usage: Collectd::plugin_flush_one(timeout, name)"); - return; - } - - plugin_flush (plugins => $name, timeout => $timeout); -} - -sub plugin_flush_all { - my $timeout = shift; - - WARNING ("Collectd::plugin_flush_all is deprecated - " - . "use Collectd::plugin_flush instead."); - - if (! defined ($timeout)) { - ERROR ("Usage: Collectd::plugin_flush_all(timeout)"); - return; - } - - plugin_flush (timeout => $timeout); -} - sub fc_call { my $type = shift; my $name = shift; @@ -511,7 +497,9 @@ sub fc_call { } DEBUG ("Collectd::fc_call: " - . "type = \"$type\", name = \"$name\", cb_type = \"$cb_type\""); + . "type = \"$type\" (" . $fc_types{$type} + . "), name = \"$name\", cb_type = \"$cb_type\" (" + . $fc_cb_types{$cb_type} . ")"); { lock %{$fc_plugins[$type]}; @@ -564,7 +552,8 @@ sub fc_register { my %fc : shared; DEBUG ("Collectd::fc_register: " - . "type = \"$type\", name = \"$name\", proc = \"$proc\""); + . "type = \"$type\" (" . $fc_types{$type} + . "), name = \"$name\", proc = \"$proc\""); if (! ((defined $type) && (defined $name) && (defined $proc))) { ERROR ("Usage: Collectd::fc_register(type, name, proc)");