Code

collectd.git
8 years agoprocesses plugin: Fix counters initialization / spikes
Pavel Rochnyack [Mon, 10 Oct 2016 07:25:07 +0000 (13:25 +0600)]
processes plugin: Fix counters initialization / spikes

processes plugin generates spikes on (re)start. That is caused by
wrong counter logic: When collectd (re)started, monitored processes,
which was started before collectd, have non-zero values in
cpu_user/cpu_system/vmem_minflt/vmem_majflt, so `want_init` is false.
What produces spike.
At other hand, processes which are started between read cycles, should
be fully accounted without initialization. So, we must skip only first
cycle for these counters.

8 years agoprocesses plugin: Remove unused fields from structures
Pavel Rochnyack [Mon, 10 Oct 2016 07:07:55 +0000 (13:07 +0600)]
processes plugin: Remove unused fields from structures

Fields cpu_user, cpu_system, vmem_minflt, vmem_majflt are always equal to zero for new entries (which are passed to ps_list_add()).
Values of these fields are not used in `procstat_t` entries too. So, that can be safely removed.

8 years agoMerge branch 'pr/1970'
Florian Forster [Thu, 6 Oct 2016 20:41:24 +0000 (22:41 +0200)]
Merge branch 'pr/1970'

8 years agointel_rdt plugin: Filter through clang-format.
Florian Forster [Thu, 6 Oct 2016 20:39:58 +0000 (22:39 +0200)]
intel_rdt plugin: Filter through clang-format.

8 years agointel_rdt plugin: Include "collectd.h" as first header.
Florian Forster [Thu, 6 Oct 2016 20:36:53 +0000 (22:36 +0200)]
intel_rdt plugin: Include "collectd.h" as first header.

8 years agordtmon: Rename 'rdtmon' plugin to 'intel_rdt'.
Pshyk, SerhiyX [Thu, 6 Oct 2016 11:19:56 +0000 (12:19 +0100)]
rdtmon: Rename 'rdtmon' plugin to 'intel_rdt'.

Change-Id: Id23eb96fd37e6d4fc5fdf7e7ed58d9e74a33cca0
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
8 years agoMerge remote-tracking branch 'github/pr/1973'
Florian Forster [Wed, 5 Oct 2016 06:52:56 +0000 (08:52 +0200)]
Merge remote-tracking branch 'github/pr/1973'

8 years agoMerge branch 'pr/1975'
Florian Forster [Wed, 5 Oct 2016 06:51:50 +0000 (08:51 +0200)]
Merge branch 'pr/1975'

8 years agomemcached plugin: Clarify documentation and a comment.
Florian Forster [Wed, 5 Oct 2016 06:51:29 +0000 (08:51 +0200)]
memcached plugin: Clarify documentation and a comment.

8 years agordtmon: Addressed PR comments
Pshyk, SerhiyX [Tue, 4 Oct 2016 14:31:58 +0000 (15:31 +0100)]
rdtmon: Addressed PR comments

1. use size_t type for all arrays and indexes
2. change malloc()/memset() to calloc()
3. fix minor code style issues
4. add range validation of core id values
5. use 'bytes' type for LLC value
6. add 'memory_bandwidth' type for MBM values

Change-Id: I5e577dcda19bc9799e7b79f9d0334c6f21b60f0d
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
8 years agomemcached: Added Address option
Pavel Rochnyack [Tue, 4 Oct 2016 18:54:34 +0000 (00:54 +0600)]
memcached: Added Address option

8 years agoCONTRIBUTING.md: Note that plugins must be added to README.
Florian Forster [Tue, 4 Oct 2016 18:56:05 +0000 (20:56 +0200)]
CONTRIBUTING.md: Note that plugins must be added to README.

8 years agoREADME: Move mqtt and grpc to the right section.
Florian Forster [Tue, 4 Oct 2016 14:39:57 +0000 (16:39 +0200)]
README: Move mqtt and grpc to the right section.

8 years agoREADME: Improve build requirements.
Florian Forster [Tue, 4 Oct 2016 08:42:14 +0000 (10:42 +0200)]
README: Improve build requirements.

8 years agodocs/BUILD.java.md: Move java build instructions out of README.
Florian Forster [Tue, 4 Oct 2016 08:29:51 +0000 (10:29 +0200)]
docs/BUILD.java.md: Move java build instructions out of README.

8 years agodocs/BUILD.dpdkstat.md: Move dpdkstat build instructions out of README.
Florian Forster [Tue, 4 Oct 2016 08:19:48 +0000 (10:19 +0200)]
docs/BUILD.dpdkstat.md: Move dpdkstat build instructions out of README.

8 years agocollectd.spec: the dpdk is actually called dpdkstat...
Marc Fournier [Tue, 4 Oct 2016 18:53:00 +0000 (20:53 +0200)]
collectd.spec: the dpdk is actually called dpdkstat...

8 years agocollectd.spec: add dpdk plugin
Marc Fournier [Mon, 3 Oct 2016 20:16:23 +0000 (22:16 +0200)]
collectd.spec: add dpdk plugin

8 years agogrpc plugin: Fix compile error.
Florian Forster [Fri, 30 Sep 2016 14:01:54 +0000 (16:01 +0200)]
grpc plugin: Fix compile error.

Weirdly, this only surfaces when building with CFLAGS="-O0 -g".

In file included from ./daemon/common.h:33:0,
                 from grpc.cc:44:
grpc.cc: In member function 'virtual grpc::Status CollectdImpl::PutValues(grpc::ServerContext*, grpc::ServerReader<collectd::PutValuesRequest>*, collectd::PutValuesResponse*)':
./daemon/plugin.h:113:56: sorry, unimplemented: non-trivial designated initializers not supported
 #define VALUE_LIST_INIT { .values = NULL, .meta = NULL }
                                                        ^
grpc.cc:294:22: note: in expansion of macro 'VALUE_LIST_INIT'
    value_list_t vl = VALUE_LIST_INIT;
                      ^

8 years agordtmon: Fix formatting of collectd pod file.
Pshyk, SerhiyX [Tue, 27 Sep 2016 11:02:30 +0000 (12:02 +0100)]
rdtmon: Fix formatting of collectd pod file.

Change-Id: I94d5e7c877bd99a5da8e725efef0bd700f339016
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
8 years agordtmon: Implement RDT monitoring plugin
Pshyk, SerhiyX [Mon, 19 Sep 2016 13:21:43 +0000 (14:21 +0100)]
rdtmon: Implement RDT monitoring plugin

The rdtmon plugin collects information provided by monitoring features of
Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring
Technology (CMT), Memory Bandwidth Monitoring (MBM).

Change-Id: Ie45344c1035c522fcd918a1dd2427a2da2e173bb
Signed-off-by: Serhiy Pshyk <serhiyx.pshyk@intel.com>
8 years agoCONTRIBUTING.md: Fix typos.
Florian Forster [Wed, 28 Sep 2016 21:12:43 +0000 (23:12 +0200)]
CONTRIBUTING.md: Fix typos.

8 years agoMerge branch 'collectd-5.6'
Florian Forster [Wed, 28 Sep 2016 20:13:08 +0000 (22:13 +0200)]
Merge branch 'collectd-5.6'

8 years agosrc/daemon/utils_cache.h: Improve documentation for uc_iterator_get_next().
Florian Forster [Wed, 28 Sep 2016 11:54:00 +0000 (13:54 +0200)]
src/daemon/utils_cache.h: Improve documentation for uc_iterator_get_next().

8 years agosrc/daemon/plugin.[ch]: Make the user_data_t* const.
Florian Forster [Wed, 28 Sep 2016 19:27:54 +0000 (21:27 +0200)]
src/daemon/plugin.[ch]: Make the user_data_t* const.

That is, user_data_t* passed to register_* functions. The actual callbacks
are still getting a user_data_t* since they, in theory, would be able to
modify the pointer stored in .data.

Issue: #1954

8 years agosrc/daemons/plugin.c: Don't modify user_data_t* in plugin_register_flush().
Florian Forster [Wed, 28 Sep 2016 19:23:49 +0000 (21:23 +0200)]
src/daemons/plugin.c: Don't modify user_data_t* in plugin_register_flush().

Fixes: #1954
8 years agoRevert "write_graphite: remove #ifndefs"
Florian Forster [Wed, 28 Sep 2016 18:58:04 +0000 (20:58 +0200)]
Revert "write_graphite: remove #ifndefs"

This reverts commit de80d27fe7023c2e377674b4cc341e539388b98e.

Fixes: #1953
8 years agowrite_http plugin: Don't register a flush callback unconditionally.
Florian Forster [Wed, 28 Sep 2016 15:53:34 +0000 (17:53 +0200)]
write_http plugin: Don't register a flush callback unconditionally.

Fixes: #1955
8 years agoMerge remote-tracking branch 'github/pr/1962'
Florian Forster [Wed, 28 Sep 2016 13:24:52 +0000 (15:24 +0200)]
Merge remote-tracking branch 'github/pr/1962'

8 years agoMerge remote-tracking branch 'github/pr/1956'
Florian Forster [Wed, 28 Sep 2016 13:23:05 +0000 (15:23 +0200)]
Merge remote-tracking branch 'github/pr/1956'

8 years agoMerge remote-tracking branch 'github/pr/1952'
Florian Forster [Wed, 28 Sep 2016 13:21:04 +0000 (15:21 +0200)]
Merge remote-tracking branch 'github/pr/1952'

8 years agocpu: Fix cpu aggregation on AIX change codeing style
Chao Yang [Mon, 26 Sep 2016 15:13:57 +0000 (11:13 -0400)]
cpu: Fix cpu aggregation on AIX change codeing style

8 years agocpu: Fix cpu aggregation on AIX
Chao Yang [Fri, 23 Sep 2016 13:36:00 +0000 (09:36 -0400)]
cpu: Fix cpu aggregation on AIX

8 years agodpdkstat: Changed log severity to Error
Taras Chornyi [Mon, 26 Sep 2016 09:37:01 +0000 (10:37 +0100)]
dpdkstat: Changed log severity to Error

8 years agoadd missing ;
Akos Vandra [Sun, 25 Sep 2016 15:01:11 +0000 (17:01 +0200)]
add missing ;

8 years agoAbility to run in tainted mode for spamassasin plugin.
Akos Vandra [Sun, 25 Sep 2016 14:25:41 +0000 (16:25 +0200)]
Ability to run in tainted mode for spamassasin plugin.

8 years agoREADME: Document gRPC's client (sender) support.
Sebastian Harl [Sat, 24 Sep 2016 11:28:59 +0000 (13:28 +0200)]
README: Document gRPC's client (sender) support.

8 years agogRPC plugin: Add Florian to copyright holders.
Sebastian Harl [Sat, 24 Sep 2016 11:27:53 +0000 (13:27 +0200)]
gRPC plugin: Add Florian to copyright holders.

8 years agodpdkstat: Fixed issue with unused var when configured w/o debug
Taras Chornyi [Thu, 22 Sep 2016 10:22:40 +0000 (11:22 +0100)]
dpdkstat: Fixed issue with unused var when configured w/o debug

Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
8 years agoMerge remote-tracking branch 'github/pr/631'
Florian Forster [Wed, 21 Sep 2016 13:25:07 +0000 (15:25 +0200)]
Merge remote-tracking branch 'github/pr/631'

8 years agoTree wide: Don't set vl.host to hostname_g in plugin code.
Florian Forster [Wed, 21 Sep 2016 09:58:39 +0000 (11:58 +0200)]
Tree wide: Don't set vl.host to hostname_g in plugin code.

Issue: #1951

8 years agosrc/daemon/plugin.c: Don't copy values twice.
Florian Forster [Wed, 21 Sep 2016 09:32:20 +0000 (11:32 +0200)]
src/daemon/plugin.c: Don't copy values twice.

A copy of the values was made in plugin_dispatch_values_internal(). This
code predates the "write queue", which means that each value list (and
its values) are copied anyway and vl->values will always point to heap
memory.

8 years agosrc/daemon/plugin.c: Initialize vl->host in plugin_value_list_clone().
Florian Forster [Wed, 21 Sep 2016 09:28:11 +0000 (11:28 +0200)]
src/daemon/plugin.c: Initialize vl->host in plugin_value_list_clone().

Issue: #1951

8 years agoMerge branch 'pr/1649'
Florian Forster [Wed, 21 Sep 2016 06:48:56 +0000 (08:48 +0200)]
Merge branch 'pr/1649'

8 years agodpkgstat plugin: Filter through clang-format.
Florian Forster [Wed, 21 Sep 2016 06:48:12 +0000 (08:48 +0200)]
dpkgstat plugin: Filter through clang-format.

8 years agodpdkstat: Fixed issue with incorrect argc calculation
Taras Chornyi [Mon, 19 Sep 2016 16:47:04 +0000 (17:47 +0100)]
dpdkstat: Fixed issue with incorrect argc calculation

Changed log messages to use PRIuN defines

Change-Id: I1433fbd6443c3d0a956c04670f93615042b40577
Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
8 years agoMerge remote-tracking branch 'github/pr/1942'
Florian Forster [Mon, 19 Sep 2016 14:14:42 +0000 (16:14 +0200)]
Merge remote-tracking branch 'github/pr/1942'

8 years agoMerge remote-tracking branch 'github/pr/1939'
Florian Forster [Mon, 19 Sep 2016 14:13:08 +0000 (16:13 +0200)]
Merge remote-tracking branch 'github/pr/1939'

8 years agoUpdate email address
Benjamin Gilbert [Mon, 19 Sep 2016 06:42:52 +0000 (01:42 -0500)]
Update email address

8 years agohddtemp: Improve robustness of test
Benjamin Gilbert [Wed, 11 Mar 2015 04:28:36 +0000 (00:28 -0400)]
hddtemp: Improve robustness of test

Don't rely on signedness of buffer_size.

8 years agohddtemp: Lift 1024-byte response limit
Benjamin Gilbert [Tue, 3 Jun 2014 20:15:24 +0000 (16:15 -0400)]
hddtemp: Lift 1024-byte response limit

Dynamically scale the response buffer, up to a maximum of 1 MB.

8 years agohddtemp: Lift 32-device limit
Benjamin Gilbert [Tue, 3 Jun 2014 14:32:41 +0000 (10:32 -0400)]
hddtemp: Lift 32-device limit

Instead of building an array of fields and then walking it, split into
fields as we go.

8 years agodpdkstat: Addressed PR comments
Taras Chornyi [Mon, 19 Sep 2016 05:35:59 +0000 (08:35 +0300)]
dpdkstat: Addressed PR comments

1) Added missing option description
2) Replaced strerror with sstrerror
3) Do not return from helper code
4) Use generic collectd Interval implementation
5) Removed "\n" from log messages

Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
8 years agoparse_value_file: adding strstripnewline back
Rinigus [Sun, 18 Sep 2016 18:11:04 +0000 (21:11 +0300)]
parse_value_file: adding strstripnewline back

8 years agouse fgets in parse_value_file, fixes #1941
Rinigus [Sat, 17 Sep 2016 10:07:26 +0000 (13:07 +0300)]
use fgets in parse_value_file, fixes #1941

8 years agosrc/daemon/utils_time.c: Fix invalid strcpy position in format_rfc3339().
Igor Peshansky [Sat, 17 Sep 2016 02:56:16 +0000 (22:56 -0400)]
src/daemon/utils_time.c: Fix invalid strcpy position in format_rfc3339().

8 years agoPlug a leak in Target:Set.
Igor Peshansky [Fri, 16 Sep 2016 16:03:35 +0000 (12:03 -0400)]
Plug a leak in Target:Set.

8 years agoMerge branch 'pr/1918'
Florian Forster [Fri, 16 Sep 2016 08:50:34 +0000 (10:50 +0200)]
Merge branch 'pr/1918'

8 years agosrc/daemon/utils_time.c: Pass "struct tm *" to format_zone().
Florian Forster [Fri, 16 Sep 2016 07:37:57 +0000 (09:37 +0200)]
src/daemon/utils_time.c: Pass "struct tm *" to format_zone().

This is a partial revert of e2cb258c7b6ce456f4119fd1454c85b479fa3e2d:
strptime() does not look the local timezone up itself but gets the
information from the "struct tm". If that is initialized with {0}, it
will always return the "+0000" time zone.

8 years agoperl plugin: Renamed and documented "RegisterLegacyFlush" option.
Pavel Rochnyack [Fri, 16 Sep 2016 02:58:44 +0000 (08:58 +0600)]
perl plugin: Renamed and documented "RegisterLegacyFlush" option.

8 years agoperl plugin: Added 'flush' fallback
Pavel Rochnyack [Thu, 11 Aug 2016 11:19:25 +0000 (17:19 +0600)]
perl plugin: Added 'flush' fallback

8 years agoperl plugin: Changed pluginname form to allow single perl plugin flush. (Part 2,...
Pavel Rochnyack [Thu, 11 Aug 2016 10:01:52 +0000 (16:01 +0600)]
perl plugin: Changed pluginname form to allow single perl plugin flush. (Part 2, fixed _plugin_unregister_generic() function to match _plugin_register_generic_userdata().)

8 years agoperl plugin: Fixed Collectd::plugin_call_all function name im DEBUG()/ERROR()
Pavel Rochnyack [Sat, 14 May 2016 21:51:36 +0000 (03:51 +0600)]
perl plugin: Fixed Collectd::plugin_call_all function name im DEBUG()/ERROR()

8 years agoperl plugin: Mark thread as running to avoid deadlock moved from perl_shutdown()...
Pavel Rochnyack [Sat, 14 May 2016 21:42:28 +0000 (03:42 +0600)]
perl plugin: Mark thread as running to avoid deadlock moved from perl_shutdown() to c_ithread_destroy()

8 years agoperl plugin: Changed pluginname form to allow single perl plugin flush.
Pavel Rochnyack [Sat, 14 May 2016 17:14:30 +0000 (23:14 +0600)]
perl plugin: Changed pluginname form to allow single perl plugin flush.

8 years agoperl plugin: Register perl plugins with use of 'userdata'.
Pavel Rochnyack [Sat, 14 May 2016 11:23:48 +0000 (17:23 +0600)]
perl plugin: Register perl plugins with use of 'userdata'.

8 years agoAddress more review comments:
Igor Peshansky [Thu, 15 Sep 2016 19:30:15 +0000 (15:30 -0400)]
Address more review comments:
- Repurpose rfc3339()/rfc3339nano() to return time in zulu format.
- Add formatted time examples to function comments.
- Clean up helper functions and add variable iniitalization.

8 years agoForce use of local time in the postgresql plugin.
Igor Peshansky [Thu, 15 Sep 2016 17:45:04 +0000 (13:45 -0400)]
Force use of local time in the postgresql plugin.
Update postgresql docs to reflect reality.

8 years agoAddress review comments:
Igor Peshansky [Thu, 15 Sep 2016 15:08:44 +0000 (11:08 -0400)]
Address review comments:
- Repurpose rfc3339/rfc3339nano to use UTC.
- Add rfc3339_local/rfc3339nano_local for local time.
- Factor out common bits; saner helper functions.
- Update comments.

8 years agoMerge branch 'pr/1792'
Florian Forster [Thu, 15 Sep 2016 08:10:30 +0000 (10:10 +0200)]
Merge branch 'pr/1792'

8 years agosrc/daemon/common.[ch]: Reimplement strjoin().
Florian Forster [Thu, 15 Sep 2016 06:59:16 +0000 (08:59 +0200)]
src/daemon/common.[ch]: Reimplement strjoin().

This new implementation truncates fields rather than aborting when there
is more space in the output buffer. Since strjoin() is mostly used to
fill plugin and type instances, which are otherwise usually filled with
sstrncpy(), i.e. also truncate the string rather than erroring out.

The unit test has also been rewritten to test the new functionality.

The new functions have been formatted with clang-format.

Fixes: #1792
8 years agohugepages plugin: Add "g_" prefix to global variables.
Florian Forster [Wed, 14 Sep 2016 18:24:39 +0000 (20:24 +0200)]
hugepages plugin: Add "g_" prefix to global variables.

8 years agohugepages plugin: Add myself to the list of authors.
Florian Forster [Wed, 14 Sep 2016 18:24:13 +0000 (20:24 +0200)]
hugepages plugin: Add myself to the list of authors.

8 years agohugepages plugin: Remove an unused variable.
Florian Forster [Tue, 13 Sep 2016 05:25:54 +0000 (07:25 +0200)]
hugepages plugin: Remove an unused variable.

8 years agohugepages plugin: Implement the "ValuesPages", "ValuesBytes" and "ValuesPercentage...
Florian Forster [Mon, 5 Sep 2016 11:21:45 +0000 (13:21 +0200)]
hugepages plugin: Implement the "ValuesPages", "ValuesBytes" and "ValuesPercentage" options.

8 years agohugepages plugin: Use the "complex" config callback.
Florian Forster [Mon, 5 Sep 2016 09:59:46 +0000 (11:59 +0200)]
hugepages plugin: Use the "complex" config callback.

8 years agohugepages plugin: Parse page size from the directory name.
Florian Forster [Mon, 5 Sep 2016 09:56:04 +0000 (11:56 +0200)]
hugepages plugin: Parse page size from the directory name.

8 years agohugepages plugin: Refactor the read_hugepage_entry() function.
Florian Forster [Mon, 5 Sep 2016 09:22:39 +0000 (11:22 +0200)]
hugepages plugin: Refactor the read_hugepage_entry() function.

* Move static variables into the "entry_info" struct.
* Turn flag into an actual flag, rather than a counter.
* Close "fh" as soon as possible.
* Return early if flags != HP_HAVE_ALL.
* Remove dead code (d_name *always* contains a dash).

8 years agohugepages plugin: Don't use pathconf(_PC_NAME_MAX).
Florian Forster [Mon, 5 Sep 2016 08:35:22 +0000 (10:35 +0200)]
hugepages plugin: Don't use pathconf(_PC_NAME_MAX).

Since we allocate the buffer on the stack, this doesn't make sense:
Best case, the returned value is the same as the PATH_MAX define. Worst
case, the returned value is larger and we create a stack overflow.

8 years agohugepages plugin: Run clang-format.
Florian Forster [Mon, 5 Sep 2016 08:26:50 +0000 (10:26 +0200)]
hugepages plugin: Run clang-format.

8 years agoMerge remote-tracking branch 'github/pr/1931'
Florian Forster [Wed, 14 Sep 2016 11:59:05 +0000 (13:59 +0200)]
Merge remote-tracking branch 'github/pr/1931'

8 years agoTree wide: Unify initialization of multi-value value lists.
Florian Forster [Wed, 14 Sep 2016 06:21:47 +0000 (08:21 +0200)]
Tree wide: Unify initialization of multi-value value lists.

Use struct initializers to initialize the array like so:

  value_t values[] = {
    /* ... */
  };

Then initialize the value_list_t with:

  vl.values = values;
  vl.values_len = STATIC_ARRAY_SIZE (values);

8 years agocontrib/examples/myplugin.c: Use a compound literal in the example plugin, too.
Florian Forster [Wed, 14 Sep 2016 06:58:51 +0000 (08:58 +0200)]
contrib/examples/myplugin.c: Use a compound literal in the example plugin, too.

8 years agoTree wide: Use compound literals when dealing with value_t.
Florian Forster [Wed, 14 Sep 2016 06:19:41 +0000 (08:19 +0200)]
Tree wide: Use compound literals when dealing with value_t.

8 years agoMerge branch 'collectd-5.6'
Florian Forster [Tue, 13 Sep 2016 20:27:34 +0000 (22:27 +0200)]
Merge branch 'collectd-5.6'

Conflicts:
src/collectd.conf.in

8 years agoMerge branch 'collectd-5.5' into collectd-5.6
Florian Forster [Tue, 13 Sep 2016 20:26:31 +0000 (22:26 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6

8 years agoMerge remote-tracking branch 'github/pr/1930'
Florian Forster [Tue, 13 Sep 2016 19:42:07 +0000 (21:42 +0200)]
Merge remote-tracking branch 'github/pr/1930'

8 years agoregex match: snprintf → ssnprintf
Florian Forster [Tue, 13 Sep 2016 18:52:58 +0000 (20:52 +0200)]
regex match: snprintf → ssnprintf

ssnprintf() ensures null termination, which is especially important when using "%s" in the format.

8 years agoAddress review comments:
Igor Peshansky [Tue, 13 Sep 2016 18:17:32 +0000 (14:17 -0400)]
Address review comments:
- Fix match bug.
- Use sfree everywhere.
- Better variable names.

8 years agoMerge remote-tracking branch 'github/pr/1929'
Florian Forster [Tue, 13 Sep 2016 08:50:40 +0000 (10:50 +0200)]
Merge remote-tracking branch 'github/pr/1929'

8 years agocurl_json plugin: Skip unexpected non-map values.
Florian Forster [Tue, 13 Sep 2016 08:44:46 +0000 (10:44 +0200)]
curl_json plugin: Skip unexpected non-map values.

Assume, for example, the config `Key "*/foo"`. This config expects JSON
in the form:

    {
      "bar": {
        "foo": 1337
      }
    }

If the available JSON is instead:

    {
      "error_code": 0,
      "bar": {
        "foo": 1337
      }
    }

the code will take a look at the zero associated with "error_code" and
determine that a map (with key "foo") is expected instead. Previously
the code would continue, eventually calling `cj_get_type()` which
expects that `key->type` is a valid pointer, resulting in a segmentation
fault.

This patch does three things to ensure that this segmentation fault does
not happen again:

1.  `cj_get_type()` checks its argument to make sure it is valid before
    dereferencing any pointers.
2.  In case a non-map is found when a map is expected, the code will
    return instead of limping on.
3.  After calling `cj_cb_inc_array_index()`, which may update the key,
    make sure that it actually did and that key is valid now.

Fixes: #1896
8 years agoDocument MetaData.
Igor Peshansky [Mon, 12 Sep 2016 22:53:31 +0000 (18:53 -0400)]
Document MetaData.

8 years agoAllow Match:Regex to match metadata.
Igor Peshansky [Mon, 12 Sep 2016 21:56:47 +0000 (17:56 -0400)]
Allow Match:Regex to match metadata.

8 years agoMerge remote-tracking branch 'github/pr/1922'
Florian Forster [Mon, 12 Sep 2016 19:05:39 +0000 (21:05 +0200)]
Merge remote-tracking branch 'github/pr/1922'

8 years agoTruncate strjoin arguments if > DATA_MAX_NAME_LEN
John Conroy [Wed, 13 Jul 2016 21:03:11 +0000 (17:03 -0400)]
Truncate strjoin arguments if > DATA_MAX_NAME_LEN

If strjoin() runs out of buffer space when joining strings, use the
remainder of available space rather than skipping additional strings

Reworked return() to avoid extra strlen() call

8 years agoMerge remote-tracking branch 'github/pr/1915'
Florian Forster [Mon, 12 Sep 2016 18:22:35 +0000 (20:22 +0200)]
Merge remote-tracking branch 'github/pr/1915'

8 years agosrc/utils_format_graphite.c: Re-insert blank line.
Florian Forster [Mon, 12 Sep 2016 18:19:57 +0000 (20:19 +0200)]
src/utils_format_graphite.c: Re-insert blank line.

8 years agoAddress more review comments:
Igor Peshansky [Mon, 12 Sep 2016 17:07:52 +0000 (13:07 -0400)]
Address more review comments:
- Locking fixes,
- Leak fixes.

8 years agoImprove if statement readability with braces
Michael Leinartas [Mon, 12 Sep 2016 17:20:16 +0000 (12:20 -0500)]
Improve if statement readability with braces

8 years agoUpdate collectd.conf manpage and address style issues
Michael Leinartas [Mon, 12 Sep 2016 15:20:34 +0000 (10:20 -0500)]
Update collectd.conf manpage and address style issues