Skip to content

Commit 4c4988b

Browse files
authored
Merge branch 'master' into pri
2 parents 7b8851b + 8e5e2e9 commit 4c4988b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+1285
-1539
lines changed

.travis.yml

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1+
env:
2+
global:
3+
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
4+
# via the "travis encrypt" command using the project repo's public key
5+
- secure: "ZdWWp0XX3C4sLIp4lqeQTWC7vt+GsWjmyRiD17T9833NBAW4dddz310I6iyeXe6oX09ZFFiVIN4ogx9ANcNBx9jriGXI2/82nBhpxOJBebet8JCNS5VeTr4rDSfQOKP+Oc+ko5KbbghTuAtO2CFYiH3jZUcn4TdsYbVanf+TwUs="
6+
17
sudo: required
28
dist: trusty
39
compiler:
410
- gcc
511
- clang
612
language: c
713
before_install:
14+
# When building the coverity_scan branch, allow only the first job to continue to avoid travis-ci/travis-ci#1975.
15+
- if [[ "${TRAVIS_BRANCH}" == "coverity_scan" && ! "${TRAVIS_JOB_NUMBER}" =~ \.1$ ]]; then exit 0; fi
816
- sudo apt-get update -qq
917
- sudo apt-get install -qq --no-install-recommends
18+
autotools-dev
1019
iptables-dev
1120
libatasmart-dev
1221
libcap-dev
@@ -21,6 +30,8 @@ before_install:
2130
libi2c-dev
2231
libldap2-dev
2332
libltdl-dev
33+
liblua50-dev
34+
liblua5.1-0-dev
2435
liblua5.2-dev
2536
liblvm2-dev
2637
libmemcached-dev
@@ -39,6 +50,7 @@ before_install:
3950
libprotobuf-c0-dev
4051
librabbitmq-dev
4152
librdkafka-dev
53+
libriemann-client-dev
4254
librrd-dev
4355
libsensors4-dev
4456
libsigrok-dev
@@ -50,10 +62,28 @@ before_install:
5062
libupsclient-dev
5163
libvarnish-dev
5264
libvirt-dev
65+
libxen-dev
5366
libxml2-dev
5467
libyajl-dev
5568
linux-libc-dev
5669
perl
5770
protobuf-c-compiler
71+
python3-dev
5872
python-dev
59-
script: sh build.sh && ./configure && make distcheck
73+
xfslibs-dev
74+
before_script: autoreconf -fi
75+
script:
76+
- if [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]; then exit 0; fi
77+
- ./configure
78+
- make -j 4
79+
- make check
80+
81+
addons:
82+
coverity_scan:
83+
project:
84+
name: "collectd/collectd"
85+
description: "Build submitted via Travis CI"
86+
notification_email: collectd-changes@verplant.org
87+
build_command_prepend: "./configure; make clean"
88+
build_command: "make -j 4"
89+
branch_pattern: coverity_scan

ChangeLog

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,179 @@
1+
2017-11-17, Version 5.8.0
2+
* collectd: The core daemon is now completely licensed under the MIT
3+
license.
4+
* collectd: Added daemon option to avoid making BaseDir. Thanks to
5+
Nathaniel Wesley Filardo and Florian Forster. #2422
6+
* collectd: Global variables have been moved to their own module to make
7+
porting collectd easier. Thanks to Sean Campbell. #2467
8+
* collectd as well as Apache, memcached, OpenLDAP, Perl, RouterOS, SNMP,
9+
Tail-CSV plugins: Free userdata for "plugin_register_complex_read()".
10+
Thanks to Pavel Rochnyack. #2349
11+
* Collectd client library: Added parsing and server code. Thanks to
12+
Florian Forster. #2258
13+
* Build system: Dependency on libltdl has been removed, support for
14+
libtool 1 has been dropped. Thanks to Ruben Kerkhof. #1898
15+
* Build system: The build system has been switched to non-recursive
16+
make. Thanks to Ruben Kerkhof. #2085
17+
* APC UPS plugin: The plugin's configuration is now optional. Without a
18+
"<Plugin />" block reasonable defaults will be used. Thanks to Pavel
19+
Rochnyack. #2351
20+
* Chrony plugin: Several issues found when working with a stratum-1
21+
server have been fixed. Thanks to Miroslav Lichvar. #2190
22+
* Ceph plugin: Support for the Ceph version "Luminous" has been added.
23+
Thanks to Aleksei Zakharov. #2464
24+
* CPU plugin : Linux-specific "guest" states have been added. Thanks to
25+
Xavier G. #2439
26+
* cURL plugin, cURL-JSON, cURL-XML, DBI, FileCount, memcachec, Oracle,
27+
PostgreSQL, Table, Tail, Tail CSV plugins: The ability to configure
28+
the "plugin" field of generated metrics has been added. Thanks to
29+
Pavel Rochnyack. #1944, #1681, #1558
30+
* cURL-JSON plugin: Parsing of arrays has been fixed. Thanks to Florian
31+
Forster. #2281
32+
* DPDKEvents plugin: This new plugin reports link status and keep alive
33+
events. Thanks to Maryam Tahhan, Harry van Haaren, Serhiy Pshyk,
34+
Kim-Marie Jones, Krzysztof Matczak, Przemyslaw Szczerbik, Christian
35+
Ehrhardt and Luca Boccassi. #2157, #2348, #2400, #2405, #2417
36+
* DPDKStat plugin: The plugin has been refactored to make DPDK related
37+
utility functions reusable. Thanks to Krzysztof Matczak, Przemyslaw
38+
Szczerbik, Christian Ehrhardt and Luca Boccassi. #2130, #2348, #2400,
39+
#2405, #2417
40+
* DPDKStat plugin: The "LogLevel" and "RteDriverLibPath" config options
41+
have been added. Thanks to Jiri Prokes. #2505
42+
* Email plugin as well as Exec and Unixsock plugins: Use
43+
"_SC_GETPW_R_SIZE_MAX". Thanks to Florian Forster. #2451
44+
* FileCount plugin: Custom values for reported plugin, type and type
45+
instance. Thanks to Pavel Rochnyack. #1979
46+
* GenericJMX plugin: Support for "AtomicInteger" and "AtomicLong" has
47+
been added. Thanks to Pierre Mauduit. #2158
48+
* gRPC plugin: Support for meta data has been added. Thanks to Taylor
49+
Cramer. #2378
50+
* IPC plugin: Fixed failed compilation on AIX. Thanks to Pavel
51+
Rochnyack. #2357
52+
* Intel PMU plugin: This new plugin collects CPU performance metrics
53+
using Intel's Performance Monitoring Unit (PMU). Scaling information
54+
added to metadata. Thanks to Serhiy Pshyk and Roman Korynkevych.
55+
#2276, #2398, #2374
56+
* Intel RDT plugin: Support for collectd's logging infrastructure has
57+
been added. PQoS monitoring groups are being reset on start-up to fix
58+
potential previous unclean shutdowns. Thanks to Roman Korynkevych.
59+
#2089.
60+
* IPMI plugin: Support for System Event Log (SEL) has been added. Thanks
61+
to Roman Korynkevych. #2091
62+
* IPMI plugin: Support for remote IPMI controllers has been added.
63+
Thanks to Pavel Rochnyack. #2024
64+
* LVM plugin: A check for the "CAP_SYS_ADMIN" capability has been added.
65+
This will give users an informative warning when the process is not
66+
running with the required privileges for this plugin. Thanks to
67+
Florian Forster. #2426, #2499
68+
* mcelog plugin: This new plugin subscribes to Machine Check Exceptions
69+
(MCE) and dispatches notifications. Metadata reset. Thanks to Maryam
70+
Tahhan, Volodymyr Mytnyk, Taras Chornyi, Krzysztof Matczak and Roman
71+
Korynkevych. #2003, #2246, #2380
72+
* MQTT plugin: Add support for TLS in "Subscriber" blocks. Thanks to
73+
Florian Forster. #2434
74+
* memcached plugin: Persistent connections have been implemented. Fix
75+
hit ratio reporting, add connections rate report. Thanks to Pavel
76+
Rochnyack. #2388, #2385
77+
* memcached plugin: The type of the "listen_disabled" metric has been
78+
changed to "total_events". Thanks to Florian Forster. #2386, #2468
79+
* Netlink plugin: The dropped packets metric has been added. Thanks to
80+
Denys Fedoryshchenko. #2053
81+
* NFS plugin: Support for NFS 4.2 metrics has been added. Thanks to
82+
Marek Becka. #2369
83+
* NFS plugin: Config options to ignore specified NFS versions have been
84+
added. Thanks to Christian Bartolomäus. #2430
85+
* NUT plugin: The "ConnectTimeout", "ForceSSL", "VerifyPeer" and
86+
"CAPath" options have been added. Thanks to Pavel Rochnyack and Steven
87+
Bell. #2145, #2354
88+
* OpenLDAP plugin: A segfault after a connection failure has been fixed.
89+
Thanks to Pavel Rochnyack. #2377
90+
* Openvpn plugin: Added support for status files from latest OpenVPN-2.4
91+
and possible from future versions. Thanks to Pavel Rochnyack. #2352
92+
* OVS Events plugin: This new plugin reports link state changes from
93+
Open vSwitch (OVS). Thanks to Volodymyr Mytnyk. #1971
94+
* OVS Stats plugin: This new plugin reports bridge / interface
95+
statistics from Open vSwitch (OVS). Thanks to Volodymyr Mytnyk and
96+
Taras Chornyi. #2137
97+
* Perl plugin: Bugfix, added check of proper interpreter initialization.
98+
Thanks to Pavel Rochnyack. #2391
99+
* PostgreSQL plugin: The plugin now sets the "application_name"
100+
parameter when connecting to the database. Thanks to daniacs. #2497
101+
* Processes plugin: The I/O operations reported for selected processes
102+
has been fixed. The metric "ps_disk_octets" has been renamed to
103+
"io_octets" because it actually contains the number of I/O operation
104+
by the process, not just disk related I/O. Same for "io_ops"
105+
(previously "ps_disk_ops"). The new metric "disk_octets" has been
106+
added and is reporting disk I/O only. Add option to collect the count
107+
of active memory maps for Linux processes. The "CollectFileDescriptor"
108+
and "CollectContextSwitch" options have been added. Thanks to Pavel
109+
Rochnyack and to Wilfried Goesgens. #2232, #2454, #1989
110+
* Processes and TCPConns plugins: The OpenBSD implementation has been
111+
changed to use "kvm_openfiles" with "KVM_NO_FILES". Thanks to Jeremie
112+
Courreges-Anglas. #2061
113+
* Python plugin: Extend Notification class to include metadata. Thanks
114+
to Volodymyr Mytnyk. #2135
115+
* Python plugin: The "CollectdException" class has been added. This
116+
allows to throw an exception without a stack trace being logged.
117+
Thanks to Sven Trenkel. #2330, #2346
118+
* Sensors plugin: Support for (electrical) current has been added.
119+
Thanks to Clemens Gruber. #2255
120+
* SNMP plugin: Error handling has been improved: a potential double-free
121+
is now avoided (potentially leaking memory) and handling of
122+
non-failing subtrees has been fixed. Thanks to Pavel Rochnyack. #2449
123+
* SNMP plugin: The "Timeout" and "Retries" config options have been
124+
added. Thanks to Carlos Vicente. #1472, #2488
125+
* SNMP Agent plugin: This new plugin implements an SNMP AgentX subagent
126+
that receives and handles queries from SNMP master agent and returns
127+
configured metrics. Thanks to Roman Korynkevych, Serhiy Pshyk and
128+
Pavel Rochnyack. #2105, #2362
129+
* Synproxy plugin: This new plugin provides statistics for Linux
130+
SYNPROXY. Thanks to Marek Bečka. #2381
131+
* Tail plugin: Allow the calculation of several distributions in one
132+
"tail" instance through a "bucket" type. Thanks to Pavel Rochnyack.
133+
#2442
134+
* Turbostat plugin: Import "msr-index.h" header from Linux and better
135+
support for mutliple packages. Thanks to Vincent Brillault. #2445,
136+
#2446
137+
* Uptime plugin: Changed implementation to read from "/proc/uptime"
138+
instead of "/proc/stat". Update for Linux and AIX, uptime is read
139+
directly using a system call. Update for BSD and Solaris, uptime is
140+
calculated by subtracting boot time from current time. Thanks to Ivan
141+
Kurnosov and Marcin Jurkowski. #2431, #2034
142+
* UUID plugin: Support for libhal has been removed. Thanks to Ruben
143+
Kerkhof. #2080
144+
* Varnish plugin: Extended the varnish plugin with varnish-plus
145+
counters. Fixed invalid data source type. Thanks to Denes Matetelki.
146+
#2453, #2463
147+
* virt plugin: The plugin has been updated to use
148+
"virConnectListAllDomains()". Thanks to Denis Silakov. #2051
149+
* virt plugin: Support for domain tags has been added. Thanks to
150+
Francesco Romani. #2048
151+
* virt plugin: Connection handling has been improved. Thanks to
152+
Francesco Romani. #2100, #2101
153+
* virt plugin: Many metrics have been added, including disk, hypervisor
154+
CPU usage, performance monitoring events, domain state, CPU pinning
155+
(affinity), file system, and job statistics. Thanks to Francesco
156+
Romani and Przemyslaw Szczerbik. #2103, #2175, #2168
157+
* Write Graphite plugin: Additional tests have been added. Thanks to
158+
Florian Forster.
159+
* Write HTTP plugin: The "Attribute" and "TTL" options for the KairosDB
160+
format have been added. Implementation of "Prefix" option. Thanks to
161+
jaroug, Denis Pompilio and Pavel Rochnyack. #2199, #2252, #2482
162+
* Write MongoDB plugin: Memory leaks have been fixed. Thanks to
163+
Saikrishna Arcot. #2307
164+
* Write Prometheus plugin: Label values are now properly escaped. Thanks
165+
to Florian Forster. #2035
166+
* Write Redis plugin: Add "max_set_duration" to set duration for value.
167+
Thanks to Tomofumi Hayashi. #2440
168+
* Write Riemann plugin: Export times with microsecond resolution. Thanks
169+
to mcorbin. #2315
170+
* Write TSDB plugin: The options "ResolveInterval" and "ResolveJitter"
171+
have been added to control DNS lookup behavior. This prevents DNS
172+
flooding in case TSDB is not available. Thanks to Yves Mettier and
173+
Florian Forster. #2059
174+
* ZFS ARC plugin: Header lines are now ignored in the Linux
175+
implementation. Thanks to YmrDtnJu. #2097
176+
1177
2017-06-06, Version 5.7.2
2178
* Build system: The Notify Email plugin is no longer linked with
3179
indirect dependencies. Thanks to Marc Fournier.

configure.ac

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5718,20 +5718,25 @@ if test "x$with_libvarnish" = "xyes"; then
57185718
SAVE_CPPFLAGS="$CPPFLAGS"
57195719
CPPFLAGS="$CPPFLAGS $with_libvarnish_cflags"
57205720
5721-
AC_CHECK_HEADERS([vapi/vsc.h],
5722-
[AC_DEFINE([HAVE_VARNISH_V4], [1], [Varnish 4 API support])],
5723-
[
5724-
AC_CHECK_HEADERS([vsc.h],
5725-
[AC_DEFINE([HAVE_VARNISH_V3], [1], [Varnish 3 API support]) ],
5726-
[
5727-
AC_CHECK_HEADERS([varnishapi.h],
5728-
[AC_DEFINE([HAVE_VARNISH_V2], [1], [Varnish 2 API support])],
5729-
[with_libvarnish="no (found none of the varnish header files)"]
5730-
)
5731-
]
5732-
)
5733-
]
5734-
)
5721+
$PKG_CONFIG --atleast-version=5.2 'varnishapi' 2>/dev/null
5722+
if test $? -eq 0; then
5723+
AC_DEFINE([HAVE_VARNISH_V5], [1], [Varnish 5 API support])
5724+
else
5725+
AC_CHECK_HEADERS([vapi/vsc.h],
5726+
[AC_DEFINE([HAVE_VARNISH_V4], [1], [Varnish 4 API support])],
5727+
[
5728+
AC_CHECK_HEADERS([vsc.h],
5729+
[AC_DEFINE([HAVE_VARNISH_V3], [1], [Varnish 3 API support]) ],
5730+
[
5731+
AC_CHECK_HEADERS([varnishapi.h],
5732+
[AC_DEFINE([HAVE_VARNISH_V2], [1], [Varnish 2 API support])],
5733+
[with_libvarnish="no (found none of the varnish header files)"]
5734+
)
5735+
]
5736+
)
5737+
]
5738+
)
5739+
fi
57355740
57365741
CPPFLAGS="$SAVE_CPPFLAGS"
57375742
fi

contrib/format.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ for i in "$@"; do
1313
d="`dirname "${i}"`"
1414
o="`TMPDIR="${d}" mktemp format.XXXXXX`"
1515

16-
curl --silent --data-binary "@-" https://clang-format.appspot.com/ <"${i}" >"${o}"
16+
curl --silent --data-binary "@-" https://format.collectd.org/ <"${i}" >"${o}"
1717
if test $? -eq 0; then
1818
cat "${o}" >"${i}"
1919
fi

contrib/redhat/collectd.spec

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@
130130
%define with_snmp_agent 0%{!?_without_snmp_agent:1}
131131
%define with_statsd 0%{!?_without_statsd:1}
132132
%define with_swap 0%{!?_without_swap:1}
133+
%define with_synproxy 0%{!?_without_synproxy:0}
133134
%define with_syslog 0%{!?_without_syslog:1}
134135
%define with_table 0%{!?_without_table:1}
135136
%define with_tail 0%{!?_without_tail:1}
@@ -247,7 +248,7 @@
247248
Summary: Statistics collection and monitoring daemon
248249
Name: collectd
249250
Version: 5.7.1
250-
Release: 7%{?dist}
251+
Release: 8%{?dist}
251252
URL: https://collectd.org
252253
Source: https://collectd.org/files/%{name}-%{version}.tar.bz2
253254
License: GPLv2
@@ -1655,6 +1656,12 @@ Collectd utilities
16551656
%define _with_swap --disable-swap
16561657
%endif
16571658

1659+
%if %{with_synproxy}
1660+
%define _with_synproxy --enable-synproxy
1661+
%else
1662+
%define _with_synproxy --disable-synproxy
1663+
%endif
1664+
16581665
%if %{with_syslog}
16591666
%define _with_syslog --enable-syslog
16601667
%else
@@ -1986,6 +1993,7 @@ Collectd utilities
19861993
%{?_with_snmp_agent} \
19871994
%{?_with_statsd} \
19881995
%{?_with_swap} \
1996+
%{?_with_synproxy} \
19891997
%{?_with_syslog} \
19901998
%{?_with_table} \
19911999
%{?_with_tail_csv} \
@@ -2291,6 +2299,9 @@ fi
22912299
%if %{with_swap}
22922300
%{_libdir}/%{name}/swap.so
22932301
%endif
2302+
%if %{with_synproxy}
2303+
%{_libdir}/%{name}/synproxy.so
2304+
%endif
22942305
%if %{with_syslog}
22952306
%{_libdir}/%{name}/syslog.so
22962307
%endif
@@ -2367,6 +2378,9 @@ fi
23672378
%{_includedir}/collectd/network_buffer.h
23682379
%{_includedir}/collectd/lcc_features.h
23692380
%{_libdir}/pkgconfig/libcollectdclient.pc
2381+
%{_includedir}/collectd/network_parse.h
2382+
%{_includedir}/collectd/server.h
2383+
%{_includedir}/collectd/types.h
23702384
%{_libdir}/libcollectdclient.so
23712385

23722386
%files -n libcollectdclient
@@ -2723,6 +2737,12 @@ fi
27232737
%doc contrib/
27242738

27252739
%changelog
2740+
* Thu Sep 28 2017 xakru <calvinxakru@gmail.com> - 5.7.1-8
2741+
- Add new libcollectdclient/network_parse
2742+
- Add new libcollectdclient/server
2743+
- Add new libcollectdclient/types
2744+
- Add new synproxy plugin
2745+
27262746
* Fri Aug 18 2017 Ruben Kerkhof <ruben@rubenkerkhof.com> - 5.7.1-7
27272747
- Add new intel_pmu plugin
27282748

0 commit comments

Comments
 (0)