Sebastian Harl [Thu, 28 May 2009 09:15:41 +0000 (11:15 +0200)]
configfile.c: Fixed Include'ing empty files.
When including empty files, a typo prevented that the "Include" child (of the
config parse tree) was removed correctly, leaving behind garbage which in turn
led to a segfault if the Include option was not the last element of the config
file.
Also, another Include option following the inclusion of an empty file used to
be ignored. This has been fixed as well.
Andrés J. Díaz [Wed, 27 May 2009 09:14:40 +0000 (11:14 +0200)]
src/utils_cache.c: Fix incorrect checking of persistent thresholds.
I attached a patch to solve a problem related with notifications. When a value
is missing for a while (2 intervals), a FAILURE notification is raised, and if
Persist is false, the notification is repeated each interval, but man page
says:
If set to false (the default) then a notification is only generated if a
value is out of range but the previous value was okay.
So, I think that is a bug, if not I'm sorry for the noise :)
Regards,
Andres
P.S.: The problem is only a mixing in if conditions into uc_check_timeout
function.
Andrés J. Díaz [Mon, 18 May 2009 12:09:11 +0000 (14:09 +0200)]
src/plugin.c: Initiate the threshold checking again.
Hi,
I have the same problem in my instalation, exactly the same scenario, I found a
possible explanation in the plugin.c module. While in the 4.5 branch exists a
callback to function ut_check_threshold (defined in utils_threshold.c), in the
4.6.2 (and also in 4.6.1, I think), the callback is missing, so threshold
checking never runs.
In fact, a grep -r ut_check_threshold over src dir, only show the definition of
the function in ut_check_threshold module.
I'm not sure if it's really a bug, but when I patched my code, it works fine
for me :) I'm using the 4.6.2 version from tar.gz.
Florian Forster [Wed, 6 May 2009 14:28:27 +0000 (16:28 +0200)]
Build system: Straighten up building of the DF plugin.
In rare cases, e. g. Solaris, getmntent is available but neither the one nor
the two argument version could be recognized. This lead to `cu_mount_getlist'
returning NULL without an error, leading to the df plugin fail without notice.
While at it I re-implemented the dependency checking of the DF plugin to match
the proprocessor logic in utils_mount.c.
Doug MacEachern [Mon, 4 May 2009 17:22:43 +0000 (19:22 +0200)]
Set process vmem_size and stack_size on FreeBSD
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Cherry-picked *again* because the initial commit to the collectd-4.5
branch was incorrect. collectd-4.6 is the branch this should be in.
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Restore BYTE_ORDER on DARWIN The files matching grep "define _POSIX_C_SOURCE" src/*.c on MacOSX do not compile: In file included from target_notification.c:60: collectd.h:172:3: error: #error "Cannot determine byte order"
See /usr/include/i386/endian.h:
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
Florian Forster [Thu, 19 Mar 2009 18:46:01 +0000 (19:46 +0100)]
exec plugin: Allow executed programs to close STDERR.
When an executed program is closing STDERR but continues running, the
daemon will wait for the child to exit and the child will eventually
block because the pipe is filled up, resulting in no statistics being
collected.
Thanks to Thorsten von Eicken for finding this problem :)
Bruno Prémont [Sat, 14 Mar 2009 17:06:58 +0000 (18:06 +0100)]
bind plugin: Actually handle RR cache numbers as `gauge'..
Hi Florian,
Well a working patch was even less trivial as the quick one from
yesterday evening.
Just using a gauge type is not sufficient (only 0 is written to RRD
files), it's also necessary to adjust the bind_xml_stats_handle_view()
as has been done for the memory statistics
Attached is a patch to bind.c (I skipped types.db) which fixes the
cache data collection.
In addition I attached a graph of the cache evolution and memory (for
memory it might be worth giving it an own type as it's not cumulative
at all)
Sebastian Harl [Sat, 7 Mar 2009 16:43:54 +0000 (17:43 +0100)]
postgresql_default.conf: Make sure the "disk_io" query does not return NULLs.
Starting with some version between 8.3.3 and 8.3.6, pg_statio_*_tables returns
NULL instead of 0 for statistics if no instance of the appropriate relation
exists. PQgetvalue() returns an empty string in that case which would then
result in error messages when udb_result_submit() tries to convert that to a
number.
Now, the "disk_io" query uses PostgreSQL's coalesce() function to make sure 0
is returned instead of NULL.