src/utils_cmd_listval.c: Free memory returned by `uc_get_names'.
We've run into a memory leak in collectd, triggered by usage of 'listval'
via the unixsock plugin.
When making a 'listval' call, utils_cmd_listval.c:handle_listval() calls
utils_cache.c:uc_get_names() to retrieve a list of active value names from the
internal cache. uc_get_names() uses realloc() to allocate memory in which to
store the list, and returns pointers.
handle_listval() does not perform a free() on the returned memory. Each time
listval is called, some memory is leaked. handle_getval() does not suffer from
the same problem - a free() is called in that case.
We've run into a memory leak in collectd, triggered by usage of 'listval'
via the unixsock plugin.
When making a 'listval' call, utils_cmd_listval.c:handle_listval() calls
utils_cache.c:uc_get_names() to retrieve a list of active value names from the
internal cache. uc_get_names() uses realloc() to allocate memory in which to
store the list, and returns pointers.
handle_listval() does not perform a free() on the returned memory. Each time
listval is called, some memory is leaked. handle_getval() does not suffer from
the same problem - a free() is called in that case.
Finished inline documentation.
Fix the filename in the head comment.
collectd.conf(5): Add section about the "routeros" plugin.
routeros plugin: Make connection parameters configurable.
And add support for multiple routers using the complex read function.
And add support for multiple routers using the complex read function.
routeros plugin: Add registration table statistics.
routeros plugin: Added first version of a plugin for MikroTik's RouterOS.
Added notification support.
AUTHORS: Add Manuel Sanmartin.
Various plugins: Remove trailing whitespaces.
swap plugin: Add support for AIX.
processes plugin: Add support for AIX.
In AIX, AFAIK, you do not known if an process are running or slepping,
this stat are saved in thread counter, so total measurement group data
by threads. -- Andrés J. Díaz
In AIX, AFAIK, you do not known if an process are running or slepping,
this stat are saved in thread counter, so total measurement group data
by threads. -- Andrés J. Díaz
memory plugin: Add support for AIX.
load plugin: Add support for AIX.
interface plugin: Add support for AIX.
disk plugin: Add support for AIX.
cpu plugin: Add support for AIX.
liboconfig: Rename the “TRUE” and “FALSE” tokens.
They are defines in <sys/types.h> under AIX.
They are defines in <sys/types.h> under AIX.
src/Makefile.am: Special handling for AIX.
Flags for linking: -Wl,-bexpall,-brtllib
Link with -lm because isnan is in libm
Flags for linking: -Wl,-bexpall,-brtllib
Link with -lm because isnan is in libm
configure.in: When building on AIX, add “-lm” when checking for NAN.
version-gen.sh: AIX doesn't have “echo -n”.
contrib/examples/MyPlugin.pm: Updated to new interface.
Split the Values class into PluginData and Values to use PluginData as a baseclass for Notification later.
Also wrote some documentation.
Also wrote some documentation.
protocols plugins: Fixed a typo in an error message.
Thanks to lintian(1) for finding that :-)
Thanks to lintian(1) for finding that :-)
Added proper doc strings to the Config class.
Added unregister functions for all callbacks.
Also removed useless plugin_unregister_complex_read declaration.
Also removed useless plugin_unregister_complex_read declaration.
Work with unix socket more defensively
If it fails when writing, reconnect and try one more time. If it fails
at other times, just reconnect.
If it fails when writing, reconnect and try one more time. If it fails
at other times, just reconnect.
Added flush and register_flush functions.
Also changed name generation.
Also changed name generation.
Merge branch 'collectd-4.8'
snmp plugin: Rename a variable (missed during merge).
Proper exception logging.
Merge branch 'collectd-4.8'
Merge branch 'collectd-4.7' into collectd-4.8
Conflicts:
src/snmp.c
Conflicts:
src/snmp.c
Added a config option to start collectd as an interactive python shell.
Merge branch 'master' of git://github.com/octo/collectd
contrib/snmp-data.conf: Add support for Mikrotik RouterBoards.
snmp plugin: Fix handling of strings with control characters.
If a byte of a string has a value <32, the string is printed as a
hex-string. This fixes issues with some devices returning MAC addresses
as "strings".
If a byte of a string has a value <32, the string is printed as a
hex-string. This fixes issues with some devices returning MAC addresses
as "strings".
snmp plugin: Fix handling of negative values.
No need to check for NULL if you're gonna pass NULL anyway.
Meh, forgot to pass the userdata back on write callbacks.
Added read callback. And "read" in this case means "plugin_register_complex_read".
Added write callbacks.
Better workaround for global plugin loading.
src/Makefile: Support parallel builds when creating the manpages.
A temporary file name is used when creating the manpages. So far, a static
file name had been used for that, thus causing race conditions. Now, a unique
suffix (PID) is used to fix that.
Thanks to BC^bd for reporting that on IRC!
A temporary file name is used when creating the manpages. So far, a static
file name had been used for that, thus causing race conditions. Now, a unique
suffix (PID) is used to fix that.
Thanks to BC^bd for reporting that on IRC!
rrdcached plugin: Work around a bug in RRDtool 1.4rc2.
rrd_client.h in that pre-release checked for HAVE_CONFIG_H and would then try
to include rrd_config.h, which, obviously, is not available in collectd.
rrd_client.h in that pre-release checked for HAVE_CONFIG_H and would then try
to include rrd_config.h, which, obviously, is not available in collectd.
GenericJMX plugin: Close and re-open the connection upon I/O-errors.
Added new python class "Values". Only "dispatch" is implemented right now.
kern.cp_times needs array of length kern.smp.maxcpus
surpress gcc warnings on FreeBSD
cc1: warnings being treated as errors
processes.c: In function 'ps_read':
processes.c:343: warning: 'pse.io_rchar' is used uninitialized in this function
processes.c:1436: note: 'pse.io_rchar' was declared here
processes.c:344: warning: 'pse.io_wchar' is used uninitialized in this function
processes.c:1436: note: 'pse.io_wchar' was declared here
processes.c:345: warning: 'pse.io_syscr' is used uninitialized in this function
processes.c:1436: note: 'pse.io_syscr' was declared here
processes.c:346: warning: 'pse.io_syscw' is used uninitialized in this function
processes.c:1436: note: 'pse.io_syscw' was declared here
cc1: warnings being treated as errors
processes.c: In function 'ps_read':
processes.c:343: warning: 'pse.io_rchar' is used uninitialized in this function
processes.c:1436: note: 'pse.io_rchar' was declared here
processes.c:344: warning: 'pse.io_wchar' is used uninitialized in this function
processes.c:1436: note: 'pse.io_wchar' was declared here
processes.c:345: warning: 'pse.io_syscr' is used uninitialized in this function
processes.c:1436: note: 'pse.io_syscr' was declared here
processes.c:346: warning: 'pse.io_syscw' is used uninitialized in this function
processes.c:1436: note: 'pse.io_syscw' was declared here
Split python module. Added support for cyclic GC runs.
Merge branch 'collectd-4.8'
Merge branch 'collectd-4.7' into collectd-4.8
Conflicts:
.gitignore
Conflicts:
.gitignore
contrib/collectd_unixsock.py: Support all plain text protocol commands
Also rename class from Collect to Collectd and improve output when run
as standalone script.
Also rename class from Collect to Collectd and improve output when run
as standalone script.
contrib/collectd_unixsock.py: Follow Python PEP-8 syntax requirements.
Also remove comment which seems to refer to a file outside of the
collectd project.
Also remove comment which seems to refer to a file outside of the
collectd project.
gitignore: Ignore compiled python files
Replace dashes with underscores in python modules
It's not possible to import python modules with dashes in the name.
See http://bit.ly/2t7fcy for more information.
It's not possible to import python modules with dashes in the name.
See http://bit.ly/2t7fcy for more information.
Ignore more java bindings classes
processes plugin: Rename the new types and use DERIVE data sources.
This is probably a much safer choice in this case.
This is probably a much safer choice in this case.
processes plugin: Make “ps_read_io” static.
processes plugin: Add collection of IO-metrics.
I attach a patch for collectd-4.8.0 adding a new feature which read IO
data for a process using /proc/<pid>/io (only works on linux > 2.6.20),
it's very usefull to monitoring disk throughput and what process is
related with high disk IO. I'm using this patchs for days in some
database environments with good results, but I think that is not enough
stable yet (more testing is required). The patch read from
/proc/<pid>/io (where available) the data for syscr and syscw (read and
write operations) and rchar and wchar (read and write bytes).
I attach a patch for collectd-4.8.0 adding a new feature which read IO
data for a process using /proc/<pid>/io (only works on linux > 2.6.20),
it's very usefull to monitoring disk throughput and what process is
related with high disk IO. I'm using this patchs for days in some
database environments with good results, but I think that is not enough
stable yet (more testing is required). The patch read from
/proc/<pid>/io (where available) the data for syscr and syscw (read and
write operations) and rchar and wchar (read and write bytes).
Merge branch 'collectd-4.8'
Merge branch 'collectd-4.7' into collectd-4.8
Support all plain text protocol commands
Also rename class from Collect to Collectd and improve output when run
as standalone script.
Also rename class from Collect to Collectd and improve output when run
as standalone script.
Follow Python PEP-8 syntax requirements.
Also remove comment which seems to refer to a file outside of the
collectd project.
Also remove comment which seems to refer to a file outside of the
collectd project.
Ignore compiled python files
Replace dashes with underscores in python modules
It's not possible to import python modules with dashes in the name.
See http://bit.ly/2t7fcy for more information.
It's not possible to import python modules with dashes in the name.
See http://bit.ly/2t7fcy for more information.
Ignore more java bindings classes
Added a workaround to module loading to allow Python scripts to do imports.
Redid the python thread handling.
Added log callback.
Redid the python thread handling.
Added log callback.
configure.in: Fix auxiliary NetApp libraries.
gmond plugin: Fixed a typo.
For some reason, the value_t members "derive" and "absolute" had been spelled
in all capital letters, obviously resulting in a build error.
For some reason, the value_t members "derive" and "absolute" had been spelled
in all capital letters, obviously resulting in a build error.
collectd.conf: Added the "madwifi" and "match_empty_counter" plugins.
Fixed a bug with newer NetApp Versions.
NetApp OnTAP API 7.3 and newer actually read this field and
expect the value "counter".
NetApp OnTAP API 7.3 and newer actually read this field and
expect the value "counter".
Added logging.
Added shutdown callback.
Also fixed a refcount bug.
Also fixed a refcount bug.
README: Added missing prerequisites.
Added init callbacks with full threading support.
Added keyword support for register_config.
Added python plugin.
It adds a "collectd" module to the embedded python interpreter
which contains a "register_config" method to register config
callbacks and "Config" class which contains a config item.
It adds a "collectd" module to the embedded python interpreter
which contains a "register_config" method to register config
callbacks and "Config" class which contains a config item.
network plugin: Implement statistics collection about the plugin itself.
configure.in: Don't use “find -L”.
Apparently the “-L” is a (new) GNU extension. :/
Apparently the “-L” is a (new) GNU extension. :/
collectd-snmp(5): Fix a typo.
Thanks to mspo.
Thanks to mspo.
hashed match: Add a match to simplify load balancing.
netapp plugin: Use a separate read-thread for each host.
Possibly not as efficient as one thread for each metric, but better than
collecting this sequentially any day.
Possibly not as efficient as one thread for each metric, but better than
collecting this sequentially any day.
ChangeLog: Fix a stupid typo.
Bumped version to 4.8.1; Updated ChangeLog.
Merge branch 'collectd-4.7' into collectd-4.8
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.7.4; Updated ChangeLog.
contrib/collection3: Improve configuration for "df_complex".
Various plugins: Use the IS_TRUE and IS_FALSE macros everywhere.
contextswitches, processes plugins: Don't print an error if number of fields don't match.
Because we pick the required line further down, having lines with more
fields is not illegal anymore.
Thanks to Patrik Weiskircher for noticing :)
Because we pick the required line further down, having lines with more
fields is not illegal anymore.
Thanks to Patrik Weiskircher for noticing :)
df plugin: Implement the "ReportInodes" option.
This option can be used to enable / disable inode statistics collection.
Defaults to "false" for now.
This option can be used to enable / disable inode statistics collection.
Defaults to "false" for now.
df plugin: Implement the "ReportReserved" option.
When enabled, the reserved space is reported separately. The "df_complex"
type is used and the mount point or device name is used as plugin instance
(as it should be) instead of the type instance (which is now needed for
"free", "reserved" and "used").
The INode handling has been split up in the same manner.
When enabled, the reserved space is reported separately. The "df_complex"
type is used and the mount point or device name is used as plugin instance
(as it should be) instead of the type instance (which is now needed for
"free", "reserved" and "used").
The INode handling has been split up in the same manner.
AUTHORS: Added Patrik.
README: Added the contextswitch plugin.
Merge branch 'collectd-4.8'
Conflicts:
src/df.c
Conflicts:
src/df.c
Merge branch 'collectd-4.7' into collectd-4.8
Conflicts:
README
Conflicts:
README
README: Fix order of the curl_json plugin in the list.
README: Fix order of the curl plugin in the list.
contextswitch plugin: Only submit if we actually did find a value.
Also makes parsing more robust (strncmp would allow for garbage after the key,
strtoul does not overflow when given an invalid string).
Also makes parsing more robust (strncmp would allow for garbage after the key,
strtoul does not overflow when given an invalid string).
processes plugin: Don't *abort* if a line has more than two fields.