Merge branch 'sh/hddtemp'
authorFlorian Forster <octo@huhu.verplant.org>
Mon, 18 Feb 2008 19:53:32 +0000 (20:53 +0100)
committerFlorian Forster <octo@huhu.verplant.org>
Mon, 18 Feb 2008 19:53:32 +0000 (20:53 +0100)
Makefile.am
README
contrib/README
src/collectd.conf.in
src/collectd.conf.pod
src/perl.c

index 9a96eb2..b52b0e9 100644 (file)
@@ -4,9 +4,7 @@ INCLUDES = $(LTDLINCL)
 
 EXTRA_DIST = contrib version-gen.sh
 
-dist-hook:
-       find $(distdir) -type d -name '.svn' | xargs rm -rf
-
 install-exec-hook:
        $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run
        $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME)
+       $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log
diff --git a/README b/README
index a16e9ec..4f3c812 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 398d13b..0f532f6 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 2554d60..e125bb6 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>
 
 @BUILD_PLUGIN_HDDTEMP_TRUE@<Plugin hddtemp>
@@ -124,9 +127,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>
@@ -152,6 +166,7 @@ FQDNLookup   true
 #      QDisc "eth0" "pfifo_fast-1:0"
 #      Class "ppp0" "htb-1:10"
 #      Filter "ppp0" "u32-1:0"
+#      IgnoreSelected false
 #</Plugin>
 
 #<Plugin network>
@@ -184,11 +199,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>
@@ -265,3 +282,8 @@ FQDNLookup   true
 #      SocketGroup "collectd"
 #      SocketPerms "0660"
 #</Plugin>
+
+#<Plugin uuid>
+#      UUIDFile "/etc/uuid"
+#</Plugin>
+
index ac85e47..383dda6 100644 (file)
@@ -440,7 +440,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 3c50528..7558a50 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)));
        }