Code

Merge branch 'master' of octo@verplant.org:/var/lib/git/collectd
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Mon, 18 Feb 2008 17:30:10 +0000 (18:30 +0100)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Mon, 18 Feb 2008 17:30:10 +0000 (18:30 +0100)
README
contrib/README
src/collectd.conf.in
src/collectd.conf.pod
src/perl.c

diff --git a/README b/README
index a16e9ec56cac30200563ad2756f24234a09fd0b1..4f3c812050876d97191038df63d79d772738ffe6 100644 (file)
--- a/README
+++ b/README
@@ -84,6 +84,9 @@ Features
     - libvirt
       CPU, disk and network I/O statistics from virtual machines.
 
+    - libxml2
+      Parse XML data provided by libvirt.
+
     - mbmon
       Motherboard sensors: temperature, fanspeed and voltage information,
       using mbmon(1).
@@ -122,7 +125,7 @@ Features
       Collects statistics from `nginx' (speak: engine X), a HTTP and mail
       server/proxy.
 
-    - ntp
+    - ntpd
       NTP daemon statistics: Local clock drift, offset to peers, etc.
 
     - nut
index 398d13ba9bdd0dcab5020e5fb2b51f210c31d273..0f532f6a5eb1ae4dbdc34e02d49a22efd164f3f1 100644 (file)
@@ -2,11 +2,6 @@ The files in this directory may be used to perform common tasks that aren't
 exactly `collectd's job. They may or may not require in-depth knowledge of RRD
 files and/or `collectd's inner workings. Use at your own risk.
 
-PerlLib/
---------
-  Perl modules to be used in conjunction with collectd. See the perldoc
-documentation of the .pm-files to find out what they're good for.
-
 add_rra.sh
 ----------
   Before version 3.9.0 collectd used to create a different set of RRAs. The
index 93b97be3591141efb114a99d1f18d5204351a014..a1172a188b0205906510320a9265c9df9a346e0a 100644 (file)
@@ -31,6 +31,7 @@ FQDNLookup   true
 @BUILD_PLUGIN_IPTABLES_TRUE@LoadPlugin iptables
 @BUILD_PLUGIN_IPVS_TRUE@LoadPlugin ipvs
 @BUILD_PLUGIN_IRQ_TRUE@LoadPlugin irq
+@BUILD_PLUGIN_LIBVIRT_TRUE@LoadPlugin libvirt
 @BUILD_PLUGIN_LOAD_TRUE@LoadPlugin load
 @BUILD_PLUGIN_LOGFILE_TRUE@LoadPlugin logfile
 @BUILD_PLUGIN_MBMON_TRUE@LoadPlugin mbmon
@@ -57,6 +58,7 @@ FQDNLookup   true
 @BUILD_PLUGIN_TCPCONNS_TRUE@LoadPlugin tcpconns
 @BUILD_PLUGIN_UNIXSOCK_TRUE@LoadPlugin unixsock
 @BUILD_PLUGIN_USERS_TRUE@LoadPlugin users
+@BUILD_PLUGIN_UUID_TRUE@LoadPlugin uuid
 @BUILD_PLUGIN_VSERVER_TRUE@LoadPlugin vserver
 @BUILD_PLUGIN_WIRELESS_TRUE@LoadPlugin wireless
 @BUILD_PLUGIN_XMMS_TRUE@LoadPlugin xmms
@@ -100,6 +102,7 @@ FQDNLookup   true
 
 #<Plugin exec>
 #      Exec "user:group" "/path/to/exec"
+#      NotificationExec "/path/to/exec"
 #</Plugin>
 
 #<Plugin hddtemp>
@@ -123,9 +126,20 @@ FQDNLookup   true
 #      IgnoreSelected true
 #</Plugin>
 
+#<Plugin libvirt>
+#      Connection "xen:///"
+#      RefreshInterval 60
+#      Domain "name"
+#      BlockDevice "name:device"
+#      InterfaceDevice "name:device"
+#      IgnoreSelected false
+#      HostnameFormat name
+#</Plugin>
+
 #<Plugin logfile>
 #      LogLevel info
 #      File STDOUT
+#      Timestamp true
 #</Plugin>
 
 #<Plugin mbmon>
@@ -151,6 +165,7 @@ FQDNLookup   true
 #      QDisc "eth0" "pfifo_fast-1:0"
 #      Class "ppp0" "htb-1:10"
 #      Filter "ppp0" "u32-1:0"
+#      IgnoreSelected false
 #</Plugin>
 
 #<Plugin network>
@@ -183,11 +198,13 @@ FQDNLookup   true
 #<Plugin perl>
 #      IncludeDir "/my/include/path"
 #      BaseName "Collectd::Plugin"
+#      EnableDebugger ""
 #      LoadPlugin foo
 #</Plugin>
 
 #<Plugin ping>
 #      Host "host.foo.bar"
+#      TTL 255
 #</Plugin>
 
 #<Plugin processes>
@@ -264,3 +281,8 @@ FQDNLookup   true
 #      SocketGroup "collectd"
 #      SocketPerms "0660"
 #</Plugin>
+
+#<Plugin uuid>
+#      UUIDFile "/etc/uuid"
+#</Plugin>
+
index 7e05bdbe9a36f6d0832859b69e623acee5be4c35..881246d52dde24530d33fc77996f4a0ddf92120b 100644 (file)
@@ -433,7 +433,8 @@ seconds. Setting this to be the same or smaller than the I<Interval> will cause
 the list of domains and devices to be refreshed on every iteration.
 
 Refreshing the devices in particular is quite a costly operation, so if your
-virtualization setup is static you might consider increasing this.
+virtualization setup is static you might consider increasing this. If this
+option is set to 0, refreshing is disabled completely.
 
 =item B<Domain> I<name>
 
index 3c50528f9f62ebad0360642eac2c1089eaabecc0..7558a50638390fc7918b8d1b60420d14a2f8a3a6 100644 (file)
@@ -700,11 +700,19 @@ static int pplugin_call_all (pTHX_ int type, ...)
                ds = va_arg (ap, data_set_t *);
                vl = va_arg (ap, value_list_t *);
 
-               if (-1 == data_set2av (aTHX_ ds, pds))
-                       return -1;
+               if (-1 == data_set2av (aTHX_ ds, pds)) {
+                       av_clear (pds);
+                       av_undef (pds);
+                       pds = Nullav;
+                       ret = -1;
+               }
 
-               if (-1 == value_list2hv (aTHX_ vl, ds, pvl))
-                       return -1;
+               if (-1 == value_list2hv (aTHX_ vl, ds, pvl)) {
+                       hv_clear (pvl);
+                       hv_undef (pvl);
+                       pvl = Nullhv;
+                       ret = -1;
+               }
 
                XPUSHs (sv_2mortal (newSVpv (ds->type, 0)));
                XPUSHs (sv_2mortal (newRV_noinc ((SV *)pds)));
@@ -738,8 +746,12 @@ static int pplugin_call_all (pTHX_ int type, ...)
 
                n = va_arg (ap, notification_t *);
 
-               if (-1 == notification2hv (aTHX_ n, notif))
-                       return -1;
+               if (-1 == notification2hv (aTHX_ n, notif)) {
+                       hv_clear (notif);
+                       hv_undef (notif);
+                       notif = Nullhv;
+                       ret = -1;
+               }
 
                XPUSHs (sv_2mortal (newRV_noinc ((SV *)notif)));
        }