X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fcollectd-perl.pod;h=9af3c0c9af759f4c76d3dc410c21b83799b90b69;hp=7308648fbe6346484f1273688d535339bf32e7d6;hb=54619dc85fd308b21ed09a0271e5c7383c7921b9;hpb=fc6f1e3d33d646391adb5cedc62e7b3904c15003 diff --git a/src/collectd-perl.pod b/src/collectd-perl.pod index 7308648f..9af3c0c9 100644 --- a/src/collectd-perl.pod +++ b/src/collectd-perl.pod @@ -75,6 +75,20 @@ Adds I to the B<@INC> array. This is the same as using the B<-IDir> command line option or B in the source code. Please note that it only has effect on plugins loaded after this option. +=item B I + +The C used to register one flush callback (called B<"perl">) and +call all Perl-based flush handlers when this callback was called. Newer versions +of the plugin wrap the Perl flush handlers and register them directly with the +daemon I to the legacy B<"perl"> callback. This allows to call +specific Perl flush handlers, but has the downside that flushing I plugins +now calls the Perl flush handlers twice (once directly and once via the legacy +callback). Unfortunately, removing the B<"perl"> callback would break backwards +compatibility. + +This option allows you to disable the legacy B<"perl"> flush callback if you care +about the double call and don't call the B<"perl"> callback in your setup. + =back =head1 WRITING YOUR OWN PLUGINS @@ -705,7 +719,7 @@ types used by the read, write and match functions. =over 4 -=item +=item * Please feel free to send in new plugins to collectd's mailing list at EcollectdEatEcollectd.orgE for review and, possibly, @@ -721,7 +735,7 @@ L. =over 4 -=item +=item * collectd is heavily multi-threaded. Each collectd thread accessing the perl plugin will be mapped to a Perl interpreter thread (see L). @@ -733,7 +747,7 @@ registered callback may be called more than once in parallel). Please note that no data is shared between threads by default. You have to use the B module to do so. -=item +=item * Each function name registered with collectd has to be available before the first thread has been created (i.Ee. basically at compile time). This @@ -742,14 +756,14 @@ C<*foo = \&bar; plugin_register (TYPE_READ, "plugin", "foo");> most likely will not work. This is due to the fact that the symbol table is not shared across different threads. -=item +=item * Each plugin is usually only loaded once and kept in memory for performance reasons. Therefore, END blocks are only executed once when collectd shuts down. You should not rely on END blocks anyway - use B instead. -=item +=item * The perl plugin exports the internal API of collectd which is considered unstable and subject to change at any time. We try hard to not break backwards @@ -759,18 +773,6 @@ dispatched by the perl plugin after upgrades. =back -=head1 KNOWN BUGS - -=over 4 - -=item - -Currently, it is not possible to flush a single Perl plugin only. You can -either flush all Perl plugins or none at all and you have to use C as -plugin name when doing so. - -=back - =head1 SEE ALSO L,