author | Florian Forster <octo@collectd.org> | |
Sun, 1 Apr 2012 10:01:58 +0000 (12:01 +0200) | ||
committer | Florian Forster <octo@collectd.org> | |
Sun, 1 Apr 2012 10:01:58 +0000 (12:01 +0200) |
Conflicts:
ChangeLog
src/collectd.conf.pod
src/common.c
src/network.c
src/processes.c
version-gen.sh
ChangeLog
src/collectd.conf.pod
src/common.c
src/network.c
src/processes.c
version-gen.sh
12 files changed:
1 | 2 | |||
---|---|---|---|---|
ChangeLog | patch | | diff1 | | diff2 | | blob | history |
configure.in | patch | | diff1 | | diff2 | | blob | history |
src/Makefile.am | patch | | diff1 | | diff2 | | blob | history |
src/collectd.conf.pod | patch | | diff1 | | diff2 | | blob | history |
src/common.c | patch | | diff1 | | diff2 | | blob | history |
src/common.h | patch | | diff1 | | diff2 | | blob | history |
src/libcollectdclient/client.c | patch | | diff1 | | diff2 | | blob | history |
src/memcached.c | patch | | diff1 | | diff2 | | blob | history |
src/network.c | patch | | diff1 | | diff2 | | blob | history |
src/perl.c | patch | | diff1 | | diff2 | | blob | history |
src/processes.c | patch | | diff1 | | diff2 | | blob | history |
src/snmp.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc ChangeLog
index 4a99a15ad70c1f45b5cdf843e5445d5af5e2748c,32e9ba336307b4de7cbd0c2e41bb6f3b6521854d..1beef6eb2540223faa157b2e604212c544d55e86
+++ b/ChangeLog
+2012-02-19, Version 5.0.3
+ * Build system: Fix problems when building the ipvs and iptables
+ plugins. Thanks to Sebastian Harl for his patch. A bashism in the
+ version-gen.sh script has been fixed. Thanks to Jo-Philipp Wich for
+ his patch.
+ * csv and rrdtool plugins: Print a more helpful error message when the
+ DataDir is a symlink pointing to a non-existing location. Thanks to
+ Jonathan Nieder for his patch.
+ * exec plugin: Fix a problem when using select(2) to read from file
+ handles. Thanks to Gerrie Roos for his patch.
+ * network plugin: An incorrect error message in the handling of the
+ "Interface" configuration option has been fixed. Thanks to Gerrie
+ Roos for his patch.
+ * oracle plugin: A potential endless loop in the error handling has
+ been fixed.
+ * python plugin: A crash bug in the configuration handling has been
+ fixed. Thanks to Sven Trenkel for his patch.
+ * interfaces plugin: The change which was supposed to ignore "bogus"
+ interfaces has been reverted, since it ignored legit interfaces, such
+ as bonding pseudo-devices as well.
+
+2012-01-21, Version 5.0.2
+ * curl_xml plugin: Fix handling of file:// and other URLs (which don't
+ follow HTTP status codes). Thanks to Fabien Wernli for his patch!
+ * df plugin: Fix handling of negative "available" counts. This can
+ occur with some file systems, for example UFS. Thanks to Toni Ylenius
+ for his patch.
+ * interface plugin: "mac" interfaces are now ignored on Solaris. These
+ pseudo-interfaces occur multiple times, causing warnings. Also switch
+ to 64-bit counters on Solaris, improving overflow behavior for
+ high-speed interfaces. Thanks to Eddy Geez and Fabien Wernli for
+ their patches.
+ * memory plugin: Account kernel and unused memory under Solaris. Thanks
+ to Fabien Wernli for his patch.
+ * network plugin: A bug in the interaction between the Network plugin
+ and filter chains has been fixed: When a filter modified a field such
+ as the hostname, subsequent values in the same network packets could
+ have ended up using the modified name rather than the original name.
+ Thanks to Sebastian Harl for identifying the problem.
+ * oracle plugin: A memory leak has been fixed in the parameter handling.
+ * python plugin: A memory leak has been fixed. Thanks to Sven Trenkel
+ for fixing this bug!
+
+2011-10-07, Version 5.0.1
+ * collectd: A mutex leak has been fixed in the meta data code. Thanks
+ to Rafal Lesniak for his patch.
+ * collectd: Compatibility fixes for GCC 4.6 have been applied. Thanks
+ to Peter Green for his patch.
+ * csv plugin: The line buffer size has been increased. Thanks to Colin
+ McCabe for the patch.
+ * curl_json plugin: Don't use the "parent" node to build the type
+ instance, if it is empty. Compatibility with libyajl 2 has been
+ added. Thanks to "spupykin" of the Arch Linux project for the initial
+ code. Formatting of time has been fixed in the JSON module.
+ * exec plugin: Fix the timestamp value passed to notification scripts.
+ Thanks to Alexander Kovalenko for fixing this.
+ * iptables plugin: Fix linking with some versions of libiptc.
+ * irq plugin: Fix support for interrupts under Linux. The old code
+ assumed that interrupts have a numeric value -- this is no longer
+ true for Linux. Thanks to Bostjan Skufca for implementing this.
+ * notify_desktop plugin: Compatibility with libnotify 0.7 has been
+ added. Thanks to Samuli Suominen for his patch.
+ * processes plugin: Fix handling of regular expressions containing
+ spaces. Thanks for Sebastian Harl for fixing this.
+ * rrdtool, rrdcached plugins: Improve precision of the XFF parameter.
+ Previously, values like 0.999 would have been rounded to 1.0. Thanks
+ to Francois-Xavier Bourlet for fixing this.
+ * varnish plugin: Fix data type handling of some metrics. Some values
+ were submitted as gauge even though they were derives.
+ * Various plugin: Set a multi-threading flag in libcurl. Thanks to Mike
+ Flisher for the fix.
+
+2011-03-28, Version 5.0.0
+ * collectd: The "FQDNLookup" option is now enabled by default.
+ * collectd: The internal representation of time has been changed to
+ allow a higher accuracy than one second.
+ * collectdcmd: This new command line utility can send various commands
+ to collectd using the UnixSock plugin. Thanks to Håkon Dugstad
+ Johnsen and Sebastian Harl for their code.
+ * collectd-nagios: The "-m" option has been implemented (treat NaNs as
+ critical).
+ * collectd-tg: Traffic generator creating bogus network traffic
+ compatible to the Network plugin. This utility can be used to
+ stress-test new write plugins and collectd in general.
+ * libcollectdclient: Creating and sending network packets has been
+ added to the collectd client library.
+ * All data sets: The data source name of all data sets with exactly
+ one data source has been changed to "value".
+ * All plugins: All "counter" data sources have been converted to
+ "derive" data sources. All plugins now use "derive" by default, but
+ plugins such as the network plugin can still handle "counter", of
+ course. The minimum value of all derive data sources is zero, the
+ maximum value is unspecified.
+ * amqp plugin: The new AMQP plugin can send data to and receive data
+ from an AMQP broker. Thanks to Sebastien Pahl for his code.
+ * apache plugin: Backwards compatibility code has been removed.
+ Support for the IBM HTTP Server has been added. Thanks to Manuel
+ Luis Sanmartín Rozada for his patch.
+ * contextswitch plugin: Support for sysctlbyname(3) has been added.
+ Thanks to Kimo Rosenbaum for his patch.
+ * df plugin: The default behavior has been changed to be equivalent to
+ the "ReportReserved" behavior of v4.
+ * dns plugin: Improved RFC 1035 name parsing has been imported from
+ "dnstop".
+ * exec plugin: Backwards compatibility code has been removed.
+ * GenericJMX plugin: The "InstancePrefix" option has been added to
+ "Connection" blocks.
+ * hddtemp plugin: The "TranslateDevicename" config option has been
+ removed.
+ * interface plugin: Use the "plugin instance" to store the interface
+ value.
+ * libvirt plugin: The "InterfaceFormat" option has been added. Thanks
+ to Ruben Kerkhof for his patch.
+ * lpar plugin: New plugins for "logical partitions", a virtualization
+ technique of POWER CPUs. Thanks to Aurélien Reynaud for his code and
+ patience.
+ * modbus plugin: Support for libmodbus 2.9.2 has been added and the
+ license has been changes to LGPLv2.1.
+ * mysql plugin: Backwards compatibility code has been removed. The
+ data sets used have been improved.
+ * network plugin: The default buffer size has been increased to
+ 1452 bytes.
+ * perl plugin: Backwards compatibility code has been removed.
+ * postgresql plugin: Backwards compatibility code has been removed.
+ * redis plugin: Plugin for collecting statistics from Redis, a key-
+ value store, has been added. Thanks to Andres J. Diaz for his code.
+ * swap plugin: Implement collection of physical and virtual memory
+ statistics under Solaris. The new default is collecting physical
+ memory. Thanks to Aurélien Reynaud for his patches.
+ * threshold plugin: The threshold configuration has been moved into
+ this separate plugin.
+ * unixsock plugin: The "DeleteSocket" option has been added.
+ * varnish plugin: The new Varnish plugin reads statistics from
+ Varnish, a web accelerator. Thanks to Jérôme Renard and Marc
+ Fournier for their contributions.
+ * write_redis: New plugin for writing data to Redis, a key-value
+ store.
+ * zfs_arc plugin: The data sets have been replaced by more elegant
+ alternatives.
+ * v5upgrade target: Target for converting v4 data sets to the v5
+ schema.
+
+ 2012-03-23, Version 4.10.7
+ * Build system: Fix the use of a libltdl macro. Thanks to Clemens Lang
+ for fixing this. Adresses some issues with building the iptables
+ plugin under Gentoo.
+ * libcollectdclient: A memory leak in the lcc_getval() function has
+ been fixed. Thanks to Jason Schmidlapp for finding and fixing this
+ issue.
+ * bind plugin: The use of 'QType" types has been fixed.
+ * df plugin: Fixed compiler issue under Mac OS X 10.7.
+ * conntrack plugin: Support zero as legitimate value. Thanks to Louis
+ Opter for his patch.
+ * memcached plugin: Increased the size of a static buffer, which was
+ truncating status messages form memcached. Thanks to Timon for the
+ patch.
+ * network plugin: Forwarding of notifications has been disabled. This
+ was a contition not checked for before, which may retult in an
+ endless loop.
+ * processes plugin: Support for process names with spaces has been
+ added to the Linux implementation. Thanks to Darrell Bishop for his
+ patch.
+ * perl plugin: A race condition in several callbacks, including log and
+ write callbacks, has been fixed. Thanks to "Rrpv" for reporting this
+ bug.
+ * snmp plugin: A bug when casting unsigned integers to gauge values has
+ been fixed: Unsigned integers would be cast to a signed integer and
+ then to a gauge, possibly resulting in a negative value.
+ * tcpconns plugin: Compilation with newer versions of the FreeBSD
+ runtime has been fixed.
+
2012-02-19, Version 4.10.6
* Build system: Fix problems when building the ipvs and iptables
plugins. Thanks to Sebastian Harl for his patch. A bashism in the
diff --cc configure.in
Simple merge
diff --cc src/Makefile.am
Simple merge
diff --cc src/collectd.conf.pod
Simple merge
diff --cc src/common.c
index 0069a8b6508691b4fd2270642d10452428606fc4,c5bd6470aa47e80564e5145312bfc9dec89b1500..459c7024bb2bcb9824c0c131d5ea10a9e50845d4
--- 1/src/common.c
--- 2/src/common.c
+++ b/src/common.c
return (0);
} /* int parse_identifier */
- int parse_value (const char *value, value_t *ret_value, int ds_type)
+int parse_identifier_vl (const char *str, value_list_t *vl) /* {{{ */
+{
+ char str_copy[6 * DATA_MAX_NAME_LEN];
+ char *host = NULL;
+ char *plugin = NULL;
+ char *plugin_instance = NULL;
+ char *type = NULL;
+ char *type_instance = NULL;
+ int status;
+
+ if ((str == NULL) || (vl == NULL))
+ return (EINVAL);
+
+ sstrncpy (str_copy, str, sizeof (str_copy));
+
+ status = parse_identifier (str_copy, &host,
+ &plugin, &plugin_instance,
+ &type, &type_instance);
+ if (status != 0)
+ return (status);
+
+ sstrncpy (vl->host, host, sizeof (vl->host));
+ sstrncpy (vl->plugin, plugin, sizeof (vl->plugin));
+ sstrncpy (vl->plugin_instance,
+ (plugin_instance != NULL) ? plugin_instance : "",
+ sizeof (vl->plugin_instance));
+ sstrncpy (vl->type, type, sizeof (vl->type));
+ sstrncpy (vl->type_instance,
+ (type_instance != NULL) ? type_instance : "",
+ sizeof (vl->type_instance));
+
+ return (0);
+} /* }}} int parse_identifier_vl */
+
+ int parse_value (const char *value_orig, value_t *ret_value, int ds_type)
{
+ char *value;
char *endptr = NULL;
+ size_t value_len;
+
+ if (value_orig == NULL)
+ return (EINVAL);
+
+ value = strdup (value_orig);
+ if (value == NULL)
+ return (ENOMEM);
+ value_len = strlen (value);
+
+ while ((value_len > 0) && isspace ((int) value[value_len - 1]))
+ {
+ value[value_len - 1] = 0;
+ value_len--;
+ }
switch (ds_type)
{
diff --cc src/common.h
Simple merge
diff --cc src/libcollectdclient/client.c
Simple merge
diff --cc src/memcached.c
Simple merge
diff --cc src/network.c
index e0c329c6f0abae9f10231a08f14fb08d72cfab90,34cd1c0151b5fcf01e04ce86b58f0d9c6986b90d..5fed1b196933a5bb00d39d8e9f3c9d828930bd84
--- 1/src/network.c
--- 2/src/network.c
+++ b/src/network.c
int buffer_free = sizeof (buffer);
int status;
- memset (buffer, '\0', sizeof (buffer));
+ if (!check_send_notify_okay (n))
+ return (0);
+
+ memset (buffer, 0, sizeof (buffer));
- status = write_part_number (&buffer_ptr, &buffer_free, TYPE_TIME,
+ status = write_part_number (&buffer_ptr, &buffer_free, TYPE_TIME_HR,
(uint64_t) n->time);
if (status != 0)
return (-1);
diff --cc src/perl.c
Simple merge
diff --cc src/processes.c
index 8f4eb88fc168f3c1b36835c5ed294c95dd31ed08,5e448cf9b21d03f731bdf4d79e66567846419eb8..8a1436e1855fd0f8b1f4c5f76e8c73b43832621a
--- 1/src/processes.c
--- 2/src/processes.c
+++ b/src/processes.c
char *fields[64];
char fields_len;
- int i;
+ int buffer_len;
- int name_len;
+ char *buffer_ptr;
+ size_t name_start_pos;
+ size_t name_end_pos;
+ size_t name_len;
- long long unsigned cpu_user_counter;
- long long unsigned cpu_system_counter;
+ derive_t cpu_user_counter;
+ derive_t cpu_system_counter;
long long unsigned vmem_size;
long long unsigned vmem_rss;
long long unsigned stack_size;
diff --cc src/snmp.c
Simple merge