Florian Forster [Wed, 12 Oct 2016 15:15:10 +0000 (17:15 +0200)]
collectd.conf(5): Update the "LatencyRate" option.
Florian Forster [Wed, 12 Oct 2016 07:15:49 +0000 (09:15 +0200)]
src/utils_latency.[ch]: get_rate(): Make lower bound exclusive.
This has a bunch of benefits:
* You can easily iterate over a range of latencies without counting
latencies twice. This was previously tricky because both borders were
considered to be inclusive.
* When lower equals upper, the returned value is now zero.
Previously, it was a value very close to zero, but not zero. The exact
value depended on the bucket width, an information not easily
available to the caller.
Florian Forster [Tue, 11 Oct 2016 15:27:11 +0000 (17:27 +0200)]
src/utils_latency.[ch]: Remove latency_counter_get_start_time().
Florian Forster [Tue, 11 Oct 2016 15:25:58 +0000 (17:25 +0200)]
src/utils_latency.[ch]: Improve accuracy, update unit test.
Pavel Rochnyack [Mon, 19 Sep 2016 17:32:54 +0000 (23:32 +0600)]
DSType latency: Improved after PR code review
Pavel Rochnyack [Sat, 7 May 2016 17:26:15 +0000 (23:26 +0600)]
+ liblatency: Added utils_latency_config code
+ tail plugin: DSType Latency added
Pavel Rochnyack [Sat, 7 May 2016 16:09:09 +0000 (22:09 +0600)]
+ utils_latency: Cleaned latency_counter_get_rate() from debugging
Pavel Rochnyack [Sat, 7 May 2016 15:55:16 +0000 (21:55 +0600)]
+ utils_latency: Added latency_counter_get_rate()
Pavel Rochnyack [Sat, 7 May 2016 07:01:33 +0000 (13:01 +0600)]
+ User_data destroy callback added to match_create_callback() in utils_match
Florian Forster [Thu, 15 Sep 2016 08:10:30 +0000 (10:10 +0200)]
Merge branch 'pr/1792'
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
Florian Forster [Wed, 14 Sep 2016 18:24:39 +0000 (20:24 +0200)]
hugepages plugin: Add "g_" prefix to global variables.
Florian Forster [Wed, 14 Sep 2016 18:24:13 +0000 (20:24 +0200)]
hugepages plugin: Add myself to the list of authors.
Florian Forster [Tue, 13 Sep 2016 05:25:54 +0000 (07:25 +0200)]
hugepages plugin: Remove an unused variable.
Florian Forster [Mon, 5 Sep 2016 11:21:45 +0000 (13:21 +0200)]
hugepages plugin: Implement the "ValuesPages", "ValuesBytes" and "ValuesPercentage" options.
Florian Forster [Mon, 5 Sep 2016 09:59:46 +0000 (11:59 +0200)]
hugepages plugin: Use the "complex" config callback.
Florian Forster [Mon, 5 Sep 2016 09:56:04 +0000 (11:56 +0200)]
hugepages plugin: Parse page size from the directory name.
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).
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.
Florian Forster [Mon, 5 Sep 2016 08:26:50 +0000 (10:26 +0200)]
hugepages plugin: Run clang-format.
Florian Forster [Wed, 14 Sep 2016 11:59:05 +0000 (13:59 +0200)]
Merge remote-tracking branch 'github/pr/1931'
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);
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.
Florian Forster [Wed, 14 Sep 2016 06:19:41 +0000 (08:19 +0200)]
Tree wide: Use compound literals when dealing with value_t.
Florian Forster [Tue, 13 Sep 2016 20:27:34 +0000 (22:27 +0200)]
Merge branch 'collectd-5.6'
Conflicts:
src/collectd.conf.in
Florian Forster [Tue, 13 Sep 2016 20:26:31 +0000 (22:26 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6
Florian Forster [Tue, 13 Sep 2016 19:42:07 +0000 (21:42 +0200)]
Merge remote-tracking branch 'github/pr/1930'
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.
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.
Florian Forster [Tue, 13 Sep 2016 08:50:40 +0000 (10:50 +0200)]
Merge remote-tracking branch 'github/pr/1929'
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
Igor Peshansky [Mon, 12 Sep 2016 22:53:31 +0000 (18:53 -0400)]
Document MetaData.
Igor Peshansky [Mon, 12 Sep 2016 21:56:47 +0000 (17:56 -0400)]
Allow Match:Regex to match metadata.
Florian Forster [Mon, 12 Sep 2016 19:05:39 +0000 (21:05 +0200)]
Merge remote-tracking branch 'github/pr/1922'
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
Florian Forster [Mon, 12 Sep 2016 18:22:35 +0000 (20:22 +0200)]
Merge remote-tracking branch 'github/pr/1915'
Florian Forster [Mon, 12 Sep 2016 18:19:57 +0000 (20:19 +0200)]
src/utils_format_graphite.c: Re-insert blank line.
Igor Peshansky [Mon, 12 Sep 2016 17:07:52 +0000 (13:07 -0400)]
Address more review comments:
- Locking fixes,
- Leak fixes.
Michael Leinartas [Mon, 12 Sep 2016 17:20:16 +0000 (12:20 -0500)]
Improve if statement readability with braces
Michael Leinartas [Mon, 12 Sep 2016 15:20:34 +0000 (10:20 -0500)]
Update collectd.conf manpage and address style issues
Florian Forster [Mon, 12 Sep 2016 13:56:28 +0000 (15:56 +0200)]
Merge remote-tracking branch 'github/pr/1927'
Florian Forster [Mon, 12 Sep 2016 12:16:00 +0000 (14:16 +0200)]
collectd.conf(5): Document the semantics of the "TypesDB" option in more detail.
Fixed: #1241
Florian Forster [Mon, 12 Sep 2016 09:49:52 +0000 (11:49 +0200)]
contrib/migrate-4-5.px: Don't convert "ps_code" and "ps_data" to derive.
Fixes: #1687
Michael Leinartas [Thu, 8 Sep 2016 19:00:35 +0000 (14:00 -0500)]
Add missing option to write_graphite example
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Mon, 12 Sep 2016 07:33:47 +0000 (09:33 +0200)]
varnish plugin: Fix syntax error.
Florian Forster [Mon, 12 Sep 2016 07:26:26 +0000 (09:26 +0200)]
turbostat plugin: Use parse_value_file().
Florian Forster [Mon, 12 Sep 2016 07:20:18 +0000 (09:20 +0200)]
thermal plugin: Use parse_value_file().
Florian Forster [Mon, 12 Sep 2016 07:06:20 +0000 (09:06 +0200)]
entropy plugin: Use parse_value_file().
Florian Forster [Mon, 12 Sep 2016 07:02:26 +0000 (09:02 +0200)]
cpufreq plugin: Use parse_value_file().
Florian Forster [Mon, 12 Sep 2016 06:47:16 +0000 (08:47 +0200)]
conntrack plugin: Use parse_value_file().
Florian Forster [Mon, 12 Sep 2016 06:34:09 +0000 (08:34 +0200)]
battery plugin: Replace getvalue() with parse_value_file().
Florian Forster [Fri, 9 Sep 2016 14:50:06 +0000 (16:50 +0200)]
src/daemon/common.[ch]: Implement parse_value_file().
Fixes: #1914
Florian Forster [Mon, 12 Sep 2016 05:58:29 +0000 (07:58 +0200)]
Merge remote-tracking branch 'github/pr/1920'
Florian Forster [Mon, 12 Sep 2016 05:56:26 +0000 (07:56 +0200)]
Merge remote-tracking branch 'github/pr/1924'
Florian Forster [Mon, 12 Sep 2016 05:53:01 +0000 (07:53 +0200)]
Merge remote-tracking branch 'github/pr/1923'
Florian Forster [Mon, 12 Sep 2016 05:51:47 +0000 (07:51 +0200)]
battery plugin: Reimplement sysfs_file_to_buffer() using read_file_contents().
Igor Peshansky [Sun, 11 Sep 2016 22:54:48 +0000 (18:54 -0400)]
Address review comments:
- Add meta_data_as_string,
- Use utility function.
- Leak fixes.
- Minor optimization.
Igor Peshansky [Mon, 12 Sep 2016 01:04:17 +0000 (21:04 -0400)]
Address review comments:
- Use a global to allow config-less operation.
- Use utility function.
Igor Peshansky [Sun, 11 Sep 2016 23:39:58 +0000 (19:39 -0400)]
Address review comments:
- Code simplifications,
- Leak fixes,
- ERROR -> WARNING.
Florian Forster [Sun, 11 Sep 2016 19:35:34 +0000 (21:35 +0200)]
Tree wide: Don't document the user_data_t holds user data.
Florian Forster [Sun, 11 Sep 2016 19:21:56 +0000 (21:21 +0200)]
Tree wide: Use user_data_t compound literal where appropriate.
Florian Forster [Sun, 11 Sep 2016 18:31:31 +0000 (20:31 +0200)]
apache plugin: End statements with semi-colons.
If only I knew why this wasn't considered a syntax error …
Florian Forster [Sun, 11 Sep 2016 08:01:10 +0000 (10:01 +0200)]
Bump version to 5.6.0; Update ChangeLog.
Igor Peshansky [Fri, 9 Sep 2016 17:30:15 +0000 (13:30 -0400)]
Document Plugin:WriteLog configuration.
Igor Peshansky [Thu, 8 Sep 2016 15:39:50 +0000 (11:39 -0400)]
Add optional configuration to write_log; allow writing JSON.
Igor Peshansky [Tue, 6 Sep 2016 19:41:52 +0000 (15:41 -0400)]
Document MetaData and DeleteMetaData.
Igor Peshansky [Fri, 2 Sep 2016 21:47:23 +0000 (17:47 -0400)]
Allow replacing within and deleting metadata keys.
Igor Peshansky [Thu, 8 Sep 2016 16:26:00 +0000 (12:26 -0400)]
Document interpolation and DeleteMetaData.
Igor Peshansky [Wed, 7 Sep 2016 21:00:14 +0000 (17:00 -0400)]
Implement interpolation.
Igor Peshansky [Tue, 6 Sep 2016 23:01:04 +0000 (19:01 -0400)]
Allow deleting metadata keys.
Tomasz Torcz [Fri, 9 Sep 2016 09:08:27 +0000 (11:08 +0200)]
onewire plugin - improve error messages
Actually print error messages, return value from OW API is either 0 or -1 - not very informative.
Michael Leinartas [Thu, 8 Sep 2016 18:13:26 +0000 (13:13 -0500)]
Add option to write_graphite: DropDuplicateFields
This option drops duplicate type and type_instance fields or duplicate
type and plugin fields.
example_host.memory.memory.cached becomes example_host.memory.cached
example_host.cpu.0.cpu.idle becomes example_host.cpu.0.idle
Rinigus [Thu, 8 Sep 2016 06:18:53 +0000 (08:18 +0200)]
battery plugin: Add StateFS backend.
Pull-Request: #1795
Squashed commit of the following:
commit
8f4841f381a59e1f1afd3101f93d84079866e8fa
Author: rinigus <rinigus.git@gmail.com>
Date: Wed Sep 7 11:10:27 2016 +0300
battery plugin, statefs backend: use power to report values
commit
bab1a17ca6d6b2a21c64eb7c5a2b0cdb658f50bc
Author: Rinigus <rinigus.git@gmail.com>
Date: Tue Sep 6 23:53:51 2016 +0300
battery plugin, statefs backend: adjusting type names and small corrections
commit
6428720c330f7773f3e335c8426edb9d2f8f3139
Author: Rinigus <rinigus.git@gmail.com>
Date: Sat Sep 3 12:15:19 2016 +0300
battery statefs backend: cleanup
commit
6039a12774d3933a88bcc4612c92699d3a816f97
Author: Rinigus <rinigus.git@gmail.com>
Date: Sat Sep 3 07:45:45 2016 +0300
battery plugin: clang-format for statefs backend
commit
55ec4952dbc5643af335ca9d9802df438bf4a006
Author: Rinigus <rinigus.git@gmail.com>
Date: Sat Sep 3 07:37:52 2016 +0300
battery plugin: adjusting read_statefs call
commit
4a41e8f1b88f58ef09b0c8702e752d9d8f793e38
Author: Rinigus <rinigus.git@gmail.com>
Date: Fri Sep 2 23:43:49 2016 +0300
battery: statefs backend saves as battery plugin
commit
bbc25d26663cb727b884e3931e6a909a71dac160
Author: Rinigus <rinigus.git@gmail.com>
Date: Fri Sep 2 23:19:56 2016 +0300
battery_statefs: define read function for statefs backend
commit
352cf7d9c2146e0960b8b688dfafcbdd54a789f1
Author: Rinigus <rinigus.git@gmail.com>
Date: Thu Sep 1 23:36:35 2016 +0300
battery_statefs: incorporating into battery plugin
commit
65e9d416c028d919efc2d901b782bb465c82f56b
Merge:
c9eca12 bb98f71
Author: Rinigus <rinigus.git@gmail.com>
Date: Thu Sep 1 23:08:36 2016 +0300
battery_statefs: merge updates from upstream
commit
c9eca127455571e8adf1f5c5f4290e56b793040b
Merge:
a6b4c85 6cf7955
Author: Rinigus <rinigus.git@gmail.com>
Date: Sun Jul 24 14:29:57 2016 +0300
fix configure.ac
commit
a6b4c851ae3e257faad417737065aacba1db9303
Author: Rinigus <rinigus.git@gmail.com>
Date: Mon Jul 18 23:51:44 2016 +0300
return statements
commit
d31678bb5b3d9707063986ace17e5d7ba03976b5
Author: Rinigus <rinigus.git@gmail.com>
Date: Mon Jul 18 23:46:19 2016 +0300
changes suggested by @rubenk
commit
56785979aa49319a0a4622ff7ece0cc1ad1fd9a6
Author: Rinigus <rinigus.git@gmail.com>
Date: Mon Jul 18 23:40:51 2016 +0300
changes suggested by @rubenk
commit
6cbf0d03a9404f560d346ea770e06e38ed11206f
Author: Rinigus <rinigus.git@gmail.com>
Date: Fri Jul 15 10:03:58 2016 +0300
statefs_battery config
Florian Forster [Thu, 8 Sep 2016 06:11:42 +0000 (08:11 +0200)]
Merge branch 'collectd-5.6'
Florian Forster [Thu, 8 Sep 2016 06:10:54 +0000 (08:10 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6
Florian Forster [Wed, 7 Sep 2016 07:38:23 +0000 (09:38 +0200)]
src/types.db: Remove minimum value from "power".
The battery plugin reports negative power when the battery is discharging.
Florian Forster [Tue, 6 Sep 2016 08:54:49 +0000 (10:54 +0200)]
modbus plugin: Use "struct sockaddr_storage" instead of "struct sockaddr".
"struct sockaddr" may be an opaque type.
Florian Forster [Tue, 6 Sep 2016 06:42:41 +0000 (08:42 +0200)]
Merge branch 'collectd-5.6'
Florian Forster [Tue, 6 Sep 2016 06:42:26 +0000 (08:42 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6
Florian Forster [Tue, 6 Sep 2016 06:40:35 +0000 (08:40 +0200)]
Merge remote-tracking branch 'github/pr/1909' into collectd-5.5
Florian Forster [Tue, 6 Sep 2016 06:08:01 +0000 (08:08 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6
Marc Fournier [Mon, 5 Sep 2016 19:25:40 +0000 (21:25 +0200)]
target_set.c: rename 'MetaDataSet' option
Fixes #1910
Florian Forster [Mon, 5 Sep 2016 13:45:19 +0000 (15:45 +0200)]
plugin_dispatch_multivalue: Submit NAN when computing percantage of an empty set.
Thomas Deutschmann [Fri, 2 Sep 2016 12:59:46 +0000 (14:59 +0200)]
Fix compilation against >=xfsprogs-4.7.0
[backport of commit
225ee7bb45152c51c1c9508b2e776cef36d2682d]
Suggested-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Gentoo-Bug: https://bugs.gentoo.org/590998
Fixes: https://github.com/collectd/collectd/issues/1877
Florian Forster [Fri, 2 Sep 2016 08:41:06 +0000 (10:41 +0200)]
ceph plugin: Use compound literals to initialize a VLA.
This also moves the DEBUG() statement before the sanity check in an
attempt to make scan-build happy: scan-build is under the impression
that the DEBUG() macro would write to the g_num_daemons global variable.
While we're at it, use PRIu32 to print the uint32_t.
Issue: #1835
Florian Forster [Fri, 2 Sep 2016 07:33:10 +0000 (09:33 +0200)]
Merge branch 'collectd-5.6'
Florian Forster [Fri, 2 Sep 2016 07:32:30 +0000 (09:32 +0200)]
Merge branch 'collectd-5.5' into collectd-5.6
Florian Forster [Fri, 2 Sep 2016 07:00:58 +0000 (09:00 +0200)]
network plugin: Initialize libgcrypt only when needed.
Previously, libgcrypt was initialized unconditionally in network_init(),
which may cause trouble on some systems. With this patch, gcrypt is
initialized if:
* A client socket as signing or encryption enabled, or
* a server socket has an auth_file configured.
Fixes: #1902
Florian Forster [Fri, 2 Sep 2016 06:38:57 +0000 (08:38 +0200)]
df plugin: Guard strcmp() against being passed NULL pointers.
Issue: #1835
Florian Forster [Fri, 2 Sep 2016 06:34:11 +0000 (08:34 +0200)]
write_http plugin: Add assertion for scan-build.
Issue: #1835
Florian Forster [Fri, 2 Sep 2016 06:23:46 +0000 (08:23 +0200)]
Merge remote-tracking branch 'github/pr/1901'
Florian Forster [Fri, 2 Sep 2016 06:23:27 +0000 (08:23 +0200)]
ceph plugin: Ensure that at least one daemon is configured in cconn_main_loop().
This addresses a scan-build issue.
Ruben Kerkhof [Wed, 31 Aug 2016 13:45:05 +0000 (15:45 +0200)]
Merge pull request #1904 from sandebert/patch-1
Fixed two small typos
Fredrik Sandebert [Wed, 31 Aug 2016 07:58:59 +0000 (09:58 +0200)]
Fixed two small typos
Florian Forster [Sun, 28 Aug 2016 19:36:15 +0000 (21:36 +0200)]
grpc plugin: Rename "DispatchValues" to "PutValues".
This is done to use a naming closer to that of the unixsock and exec
plugins.
trenkel [Tue, 23 Aug 2016 15:18:57 +0000 (17:18 +0200)]
Merge pull request #1899 from rubenk/python-fixes-for-interactive-sessions
python plugin: Fixing possible problems with the GIL in interactive sessions.
Ruben Kerkhof [Tue, 23 Aug 2016 14:15:30 +0000 (16:15 +0200)]
Try a different way to silence GCC.
On some distro's some versions of GCC warn about the unchecked result,
even though it is casted to void.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 for the
discussion.
Marc Fournier [Tue, 23 Aug 2016 09:03:48 +0000 (11:03 +0200)]
collectd.spec: add hugepages plugin
Marc Fournier [Tue, 23 Aug 2016 09:03:26 +0000 (11:03 +0200)]
collectd.spec: adjust version & changelog entries for master branch
Sven Trenkel [Tue, 16 Aug 2016 21:52:38 +0000 (21:52 +0000)]
python plugin: Fixing possible problems with the GIL.
If AfterFork is called after threads have been initialized.
Also handle SIGTERM while reading from an interactive session slightly more gracefully.