Update net-mgmt/collectd5 to version 5.6.0

- new port options CHRONY and MQTT
- disable disk plugin on FreeBSD 9.x due to missing OS files
- various patch changes

PR:		212832
Submitted by:	ports@bsdserwis.com (maintainer)
Reviewed by:	swills (mentor)
Approved by:	swills (mentor)
Differential Revision:	https://reviews.freebsd.org/D8028
This commit is contained in:
Joseph Mingrone 2016-09-26 14:51:59 +00:00
parent 94e76d2889
commit abc9855fa2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=422778
15 changed files with 86 additions and 292 deletions

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= collectd
PORTVERSION= 5.5.2
PORTVERSION= 5.6.0
CATEGORIES= net-mgmt
MASTER_SITES= https://collectd.org/files/ \
http://collectd.org/files/
@ -25,13 +25,14 @@ OPTIONS_DEFINE= CGI DEBUG GCRYPT LOGSTASH VIRT
OPTIONS_GROUP= INPUT OUTPUT
OPTIONS_GROUP_OUTPUT= KAFKA MONGODB NOTIFYDESKTOP NOTIFYEMAIL RIEMANN RRDTOOL \
TSDB
OPTIONS_GROUP_INPUT= CURL CURL_JSON CURL_XML DBI IPMI JSON MEMCACHEC \
MODBUS MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP \
OPTIONS_GROUP_INPUT= CHRONY CURL CURL_JSON CURL_XML DBI IPMI JSON \
MEMCACHEC MODBUS MQTT MYSQL NUTUPS OLSRD ONEWIRE OPENLDAP \
PERL PGSQL PINBA PING PYTHON RABBITMQ REDIS ROUTEROS \
SIGROK SNMP STATSD TOKYOTYRANT VARNISH XML \
XMMS ZOOKEEPER
CGI_DESC= Install collection.cgi (requires rrdtool)
CHRONY_DESC= Enable chronyd plugin
CURL_DESC= Enable curl-based plugins (apache, nginx, etc)
CURL_JSON_DESC= Enable curl_json plugin (implies curl and json)
CURL_XML_DESC= Enable ascent, bind, curl_xml plugins (implies curl and xml)
@ -45,6 +46,7 @@ LOGSTASH_DESC= Enable log_logstash plugin (requires json)
MEMCACHEC_DESC= Enable memcachec plugin
MODBUS_DESC= Enable modbus plugin
MONGODB_DESC= Enable write_mongodb plugin (BROKEN)
MQTT_DESC= Enable MQTT broker metrics
MYSQL_DESC= Enable mysql-based plugins
NOTIFYDESKTOP_DESC= Enable desktop notifications
NOTIFYEMAIL_DESC= Enable notifications via email
@ -115,6 +117,8 @@ CGI_RUN_DEPENDS= p5-URI>=0:net/p5-URI \
p5-HTML-Parser>=0:www/p5-HTML-Parser
CGI_IMPLIES= RRDTOOL
CHRONY_CONFIGURE_ENABLE= chrony
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
CURL_CONFIGURE_ENABLE= apache curl nginx write_http
CURL_CONFIGURE_WITH= libcurl=${LOCALBASE}
@ -162,6 +166,10 @@ MONGODB_CONFIGURE_ENABLE= write_mongodb
MONGODB_CONFIGURE_WITH= libmongoc=${LOCALBASE}
MONGODB_BROKEN= fails to configure with write_mongodb option
MQTT_LIB_DEPENDS= libmosquitto.so:net/mosquitto
MQTT_CONFIGURE_ENABLE= mqtt
MQTT_CONFIGURE_WITH= libmosquitto=${LOCALBASE}
MYSQL_USE= mysql=yes
MYSQL_CONFIGURE_ENABLE= mysql
MYSQL_CONFIGURE_WITH= libmysql=${LOCALBASE}
@ -272,7 +280,6 @@ CONFIGURE_ARGS+=--enable-aggregation \
--enable-cpu \
--enable-csv \
--enable-df \
--enable-disk \
--enable-dns \
--enable-email \
--enable-exec \
@ -317,6 +324,15 @@ CONFIGURE_ARGS+=--enable-aggregation \
--enable-write_log \
--enable-zfs_arc \
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000
PLIST_SUB+= DISK="@comment "
.else
CONFIGURE_ARGS+=--enable-disk
PLIST_SUB+= DISK="@comment "
.endif
INSTALL_TARGET= install-strip
SHEBANG_FILES= contrib/collection.cgi

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1469564676
SHA256 (collectd-5.5.2.tar.bz2) = 017f3a4062187e594d8ab6af685655fb82a8a942dc574668e68242bdb8ba820f
SIZE (collectd-5.5.2.tar.bz2) = 1800476
TIMESTAMP = 1474290609
SHA256 (collectd-5.6.0.tar.bz2) = f0ffbbd91fac3682bd324a74b9b4c9eabe781394b303b5cfd457c4cfbe748623
SIZE (collectd-5.6.0.tar.bz2) = 1818470

View file

@ -1,6 +1,6 @@
--- Makefile.am.orig 2016-01-22 08:33:25 UTC
--- Makefile.am.orig 2016-09-11 08:10:25 UTC
+++ Makefile.am
@@ -14,7 +14,6 @@ EXTRA_DIST = contrib version-gen.sh
@@ -14,7 +14,6 @@ EXTRA_DIST = contrib version-gen.sh test
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run

View file

@ -1,6 +1,6 @@
--- configure.ac.orig 2016-01-22 09:51:17 UTC
--- configure.ac.orig 2016-09-11 08:10:25 UTC
+++ configure.ac
@@ -155,7 +155,7 @@ then
@@ -185,7 +185,7 @@ then
fi
# Where to install .pc files.
@ -9,7 +9,7 @@
AC_SUBST(pkgconfigdir)
# Check for standards compliance mode
@@ -715,7 +715,7 @@ SAVE_CFLAGS="$CFLAGS"
@@ -841,7 +841,7 @@ SAVE_CFLAGS="$CFLAGS"
# Emulate behavior of src/Makefile.am
if test "x$GCC" = "xyes"
then
@ -18,7 +18,7 @@
fi
AC_CACHE_CHECK([for strtok_r],
@@ -844,7 +844,7 @@ AC_CHECK_FUNCS(getutxent, [have_getutxen
@@ -968,7 +968,7 @@ AC_CHECK_FUNCS(getutxent, [have_getutxen
if test "x$GCC" = "xyes"
then
SAVE_CFLAGS="$CFLAGS"
@ -27,7 +27,7 @@
fi
AC_CHECK_FUNCS(strptime, [have_strptime="yes"], [have_strptime="no"])
@@ -1571,6 +1571,7 @@ if test "x$with_kstat" = "xyes"
@@ -1757,6 +1757,7 @@ if test "x$with_kstat" = "xyes"
then
AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], [])
fi
@ -35,7 +35,7 @@
if test "x$with_kstat" = "xyes"
then
AC_CHECK_LIB(devinfo, di_init, [with_devinfo="yes"], [with_devinfo="no (not found)"], [])
@@ -1580,6 +1581,8 @@ if test "x$with_kstat" = "xyes"
@@ -1766,6 +1767,8 @@ if test "x$with_kstat" = "xyes"
then
AC_DEFINE(HAVE_LIBKSTAT, 1,
[Define to 1 if you have the 'kstat' library (-lkstat)])
@ -44,7 +44,7 @@
fi
AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes")
AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes")
@@ -2624,8 +2627,8 @@ AC_ARG_WITH(libmongoc, [AS_HELP_STRING([
@@ -3053,8 +3056,8 @@ AC_ARG_WITH(libmongoc, [AS_HELP_STRING([
with_libmongoc="no"
else
with_libmongoc="yes"
@ -55,7 +55,7 @@
fi; fi
],
[with_libmongoc="yes"])
@@ -2642,7 +2645,7 @@ then
@@ -3071,7 +3074,7 @@ then
then
AC_MSG_NOTICE([libmongoc CPPFLAGS: $LIBMONGOC_CPPFLAGS])
fi
@ -64,7 +64,7 @@
[with_libmongoc="yes"],
[with_libmongoc="no ('mongo.h' not found)"],
[#if HAVE_STDINT_H
@@ -2658,7 +2661,7 @@ then
@@ -3087,7 +3090,7 @@ then
then
AC_MSG_NOTICE([libmongoc LDFLAGS: $LIBMONGOC_LDFLAGS])
fi
@ -73,7 +73,7 @@
[with_libmongoc="yes"],
[with_libmongoc="no (symbol 'mongo_run_command' not found)"])
fi
@@ -3415,7 +3418,7 @@ then
@@ -3873,7 +3876,7 @@ then
SAVE_LIBS="$LIBS"
# trigger an error if Perl_load_module*() uses __attribute__nonnull__(3)
# (see issues #41 and #42)
@ -82,43 +82,7 @@
LIBS="$LIBS $PERL_LIBS"
AC_CACHE_CHECK([for broken Perl_load_module()],
@@ -3645,7 +3648,7 @@ fi
if test "x$with_python" = "xyes"
then
AC_MSG_CHECKING([for Python CPPFLAGS])
- python_include_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_python_inc())" | "$with_python_prog" 2>&1`
+ python_include_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_python_inc())" | "$with_python_prog" 2>/dev/null`
python_config_status=$?
if test "$python_config_status" -ne 0 || test "x$python_include_path" = "x"
@@ -3668,7 +3671,7 @@ fi
if test "x$with_python" = "xyes"
then
AC_MSG_CHECKING([for Python LDFLAGS])
- python_library_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0))" | "$with_python_prog" 2>&1`
+ python_library_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0))" | "$with_python_prog" 2>/dev/null`
python_config_status=$?
if test "$python_config_status" -ne 0 || test "x$python_library_path" = "x"
@@ -3683,7 +3686,7 @@ fi
if test "x$with_python" = "xyes"
then
AC_MSG_CHECKING([for Python LIBS])
- python_library_flags=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0))" | "$with_python_prog" 2>&1`
+ python_library_flags=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0))" | "$with_python_prog" 2>/dev/null`
python_config_status=$?
if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x"
@@ -3698,7 +3701,7 @@ fi
if test "x$with_python" = "xyes"
then
LDFLAGS="-L$python_library_path $LDFLAGS"
- LIBS="$python_library_flags $LIBS"
+ LIBS="$python_library_flags $LIBS -lm -lpthread -lutil"
AC_CHECK_FUNC(PyObject_CallFunction,
[with_python="yes"],
@@ -4761,8 +4764,8 @@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING(
@@ -5249,8 +5252,8 @@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING(
else if test -d "$with_libvarnish/lib"
then
AC_MSG_NOTICE([Not checking for libvarnish: Manually configured])
@ -129,11 +93,3 @@
with_libvarnish="yes"
fi; fi; fi
],
@@ -5334,6 +5337,7 @@ fi
if test "x$ac_system" = "xFreeBSD"
then
+ plugin_disk="yes"
plugin_zfs_arc="yes"
fi

View file

@ -1,14 +1,6 @@
--- src/Makefile.am.orig 2016-01-22 09:51:17 UTC
--- src/Makefile.am.orig 2016-09-11 08:10:25 UTC
+++ src/Makefile.am
@@ -7,14 +7,14 @@ SUBDIRS += daemon
PLUGIN_LDFLAGS = -module -avoid-version -export-symbols-regex '\<module_register\>'
if COMPILER_IS_GCC
-AM_CFLAGS = -Wall -Werror
+AM_CFLAGS = -Wall
endif
AM_CPPFLAGS = -I$(srcdir)/daemon
@@ -10,7 +10,7 @@ AM_CPPFLAGS = -I$(srcdir)/daemon
AM_CPPFLAGS += -DPREFIX='"${prefix}"'
AM_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"'
AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
@ -17,7 +9,7 @@
if BUILD_FEATURE_DAEMON
AM_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"'
endif
@@ -218,7 +218,7 @@ cpu_la_CFLAGS = $(AM_CFLAGS)
@@ -274,7 +274,7 @@ cpu_la_CFLAGS = $(AM_CFLAGS)
cpu_la_LDFLAGS = $(PLUGIN_LDFLAGS)
cpu_la_LIBADD =
if BUILD_WITH_LIBKSTAT
@ -26,7 +18,7 @@
endif
if BUILD_WITH_LIBDEVINFO
cpu_la_LIBADD += -ldevinfo
@@ -301,7 +301,7 @@ disk_la_CFLAGS = $(AM_CFLAGS)
@@ -358,7 +358,7 @@ disk_la_CFLAGS = $(AM_CFLAGS)
disk_la_LDFLAGS = $(PLUGIN_LDFLAGS)
disk_la_LIBADD =
if BUILD_WITH_LIBKSTAT
@ -35,7 +27,7 @@
endif
if BUILD_WITH_LIBDEVINFO
disk_la_LIBADD += -ldevinfo
@@ -319,6 +319,9 @@ endif
@@ -381,6 +381,9 @@ endif
if BUILD_WITH_PERFSTAT
disk_la_LIBADD += -lperfstat
endif
@ -45,7 +37,7 @@
endif
if BUILD_PLUGIN_DNS
@@ -405,7 +408,7 @@ interface_la_CFLAGS += $(BUILD_WITH_LIBS
@@ -481,7 +484,7 @@ interface_la_CFLAGS += $(BUILD_WITH_LIBS
interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
else
if BUILD_WITH_LIBKSTAT
@ -54,7 +46,7 @@
endif
if BUILD_WITH_LIBDEVINFO
interface_la_LIBADD += -ldevinfo
@@ -584,7 +587,7 @@ memory_la_CFLAGS = $(AM_CFLAGS)
@@ -669,7 +672,7 @@ memory_la_CFLAGS = $(AM_CFLAGS)
memory_la_LDFLAGS = $(PLUGIN_LDFLAGS)
memory_la_LIBADD =
if BUILD_WITH_LIBKSTAT
@ -63,7 +55,7 @@
endif
if BUILD_WITH_LIBDEVINFO
memory_la_LIBADD += -ldevinfo
@@ -951,7 +954,7 @@ swap_la_CFLAGS = $(AM_CFLAGS)
@@ -1034,7 +1037,7 @@ swap_la_CFLAGS = $(AM_CFLAGS)
swap_la_LDFLAGS = $(PLUGIN_LDFLAGS)
swap_la_LIBADD =
if BUILD_WITH_LIBKSTAT
@ -72,7 +64,7 @@
endif
if BUILD_WITH_LIBDEVINFO
swap_la_LIBADD += -ldevinfo
@@ -997,7 +1000,7 @@ if BUILD_PLUGIN_TAPE
@@ -1080,7 +1083,7 @@ if BUILD_PLUGIN_TAPE
pkglib_LTLIBRARIES += tape.la
tape_la_SOURCES = tape.c
tape_la_LDFLAGS = $(PLUGIN_LDFLAGS)
@ -81,7 +73,7 @@
endif
if BUILD_PLUGIN_TARGET_NOTIFICATION
@@ -1102,7 +1105,7 @@ uptime_la_CFLAGS = $(AM_CFLAGS)
@@ -1184,7 +1187,7 @@ uptime_la_CFLAGS = $(AM_CFLAGS)
uptime_la_LDFLAGS = $(PLUGIN_LDFLAGS)
uptime_la_LIBADD =
if BUILD_WITH_LIBKSTAT
@ -90,16 +82,16 @@
endif
if BUILD_WITH_PERFSTAT
uptime_la_LIBADD += -lperfstat
@@ -1260,7 +1263,7 @@ if BUILD_LINUX
# zfs_arc requires no library on linux
else
# solaris
@@ -1340,7 +1343,7 @@ if BUILD_FREEBSD
zfs_arc_la_LIBADD = -lm
endif
if BUILD_SOLARIS
-zfs_arc_la_LIBADD = -lkstat
+zfs_arc_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS)
endif
endif
endif
@@ -1354,12 +1357,7 @@ endif
@@ -1433,12 +1436,7 @@ endif
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)

View file

@ -1,6 +1,6 @@
--- src/daemon/Makefile.am.orig 2016-01-22 09:51:17 UTC
--- src/daemon/Makefile.am.orig 2016-09-11 08:10:25 UTC
+++ src/daemon/Makefile.am
@@ -6,7 +6,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src
AM_CPPFLAGS += -DPREFIX='"${prefix}"'
AM_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"'
AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'

View file

@ -1,21 +1,21 @@
--- src/daemon/collectd.h.orig 2016-01-22 09:51:17 UTC
--- src/daemon/collectd.h.orig 2016-09-11 08:10:25 UTC
+++ src/daemon/collectd.h
@@ -240,15 +240,15 @@ typedef int _Bool;
@@ -243,15 +243,15 @@ typedef int _Bool;
#endif
#ifndef LOCALSTATEDIR
-#define LOCALSTATEDIR PREFIX "/var"
+#define LOCALSTATEDIR "/var"
-# define LOCALSTATEDIR PREFIX "/var"
+# define LOCALSTATEDIR "/var"
#endif
#ifndef PKGLOCALSTATEDIR
-#define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
+#define PKGLOCALSTATEDIR PREFIX "/var/db/" PACKAGE_NAME
-# define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
+# define PKGLOCALSTATEDIR PREFIX "/var/db/" PACKAGE_NAME
#endif
#ifndef PIDFILE
-#define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
+#define PIDFILE "/var/run/" PACKAGE_NAME ".pid"
-# define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
+# define PIDFILE "/var/run/" PACKAGE_NAME ".pid"
#endif
#ifndef PLUGINDIR

View file

@ -1,6 +1,6 @@
--- src/dns.c.orig 2016-01-22 09:51:17 UTC
--- src/dns.c.orig 2016-09-11 08:10:25 UTC
+++ src/dns.c
@@ -223,6 +223,15 @@ static int dns_run_pcap_loop (void)
@@ -225,6 +225,15 @@ static int dns_run_pcap_loop (void)
pthread_sigmask (SIG_SETMASK, &sigmask, NULL);
}

View file

@ -1,8 +1,8 @@
--- src/modbus.c.orig 2016-01-22 09:51:17 UTC
--- src/modbus.c.orig 2016-09-11 08:10:25 UTC
+++ src/modbus.c
@@ -25,6 +25,9 @@
#include "common.h"
#include "plugin.h"
#include "configfile.h"
+/* FreeBSD needs this */
+#include <sys/socket.h>

View file

@ -1,6 +1,6 @@
--- src/config.h.in.orig 2016-01-22 09:56:33 UTC
--- src/config.h.in.orig 2016-09-11 08:10:42 UTC
+++ src/config.h.in
@@ -562,8 +562,8 @@
@@ -587,8 +587,8 @@
/* Define to 1 if you have the <modbus.h> header file. */
#undef HAVE_MODBUS_H
@ -9,9 +9,9 @@
+/* Define to 1 if you have the <mongoc.h> header file. */
+#undef HAVE_MONGOC_H
/* Define to 1 if you have the <mysql.h> header file. */
#undef HAVE_MYSQL_H
@@ -1541,13 +1541,15 @@
/* Define to 1 if you have the <mosquitto.h> header file. */
#undef HAVE_MOSQUITTO_H
@@ -1617,13 +1617,15 @@
module search path. */
#undef LT_MODULE_PATH_VAR
@ -29,7 +29,7 @@
/* Define if NAN is defined by default and can initialize static variables. */
#undef NAN_STATIC_DEFAULT
@@ -1644,7 +1646,7 @@
@@ -1715,7 +1717,7 @@
/* Define to empty if `const' does not conform to ANSI C. */
#undef const

View file

@ -1,160 +0,0 @@
--- src/disk.c.orig 2016-01-22 09:51:17 UTC
+++ src/disk.c
@@ -53,6 +53,10 @@
#if HAVE_IOKIT_IOBSD_H
# include <IOKit/IOBSD.h>
#endif
+#if KERNEL_FREEBSD
+#include <devstat.h>
+#include <libgeom.h>
+#endif
#if HAVE_LIMITS_H
# include <limits.h>
@@ -107,6 +111,9 @@ typedef struct diskstats
static diskstats_t *disklist;
/* #endif KERNEL_LINUX */
+#elif KERNEL_FREEBSD
+static struct gmesh geom_tree;
+/* #endif KERNEL_FREEBSD */
#elif HAVE_LIBKSTAT
#define MAX_NUMDISK 1024
@@ -222,6 +229,21 @@ static int disk_init (void)
/* do nothing */
/* #endif KERNEL_LINUX */
+#elif KERNEL_FREEBSD
+ int rv;
+
+ rv = geom_gettree(&geom_tree);
+ if (rv != 0) {
+ ERROR ("geom_gettree() failed, returned %d", rv);
+ return (-1);
+ }
+ rv = geom_stats_open();
+ if (rv != 0) {
+ ERROR ("geom_stats_open() failed, returned %d", rv);
+ return (-1);
+ }
+/* #endif KERNEL_FREEBSD */
+
#elif HAVE_LIBKSTAT
kstat_t *ksp_chain;
@@ -505,6 +527,114 @@ static int disk_read (void)
IOObjectRelease (disk_list);
/* #endif HAVE_IOKIT_IOKITLIB_H */
+#elif KERNEL_FREEBSD
+ int retry, dirty;
+
+ void *snap = NULL;
+ struct devstat *snap_iter;
+
+ struct gident *geom_id;
+
+ const char *disk_name;
+ long double read_time, write_time;
+
+ for (retry = 0, dirty = 1; retry < 5 && dirty == 1; retry++) {
+ if (snap != NULL)
+ geom_stats_snapshot_free(snap);
+
+ /* Get a fresh copy of stats snapshot */
+ snap = geom_stats_snapshot_get();
+ if (snap == NULL) {
+ ERROR("disk plugin: geom_stats_snapshot_get() failed.");
+ return (-1);
+ }
+
+ /* Check if we have dirty read from this snapshot */
+ dirty = 0;
+ geom_stats_snapshot_reset(snap);
+ while ((snap_iter = geom_stats_snapshot_next(snap)) != NULL) {
+ if (snap_iter->id == NULL)
+ continue;
+ geom_id = geom_lookupid(&geom_tree, snap_iter->id);
+
+ /* New device? refresh GEOM tree */
+ if (geom_id == NULL) {
+ geom_deletetree(&geom_tree);
+ if (geom_gettree(&geom_tree) != 0) {
+ ERROR("disk plugin: geom_gettree() failed");
+ geom_stats_snapshot_free(snap);
+ return (-1);
+ }
+ geom_id = geom_lookupid(&geom_tree, snap_iter->id);
+ }
+ /*
+ * This should be rare: the device come right before we take the
+ * snapshot and went away right after it. We will handle this
+ * case later, so don't mark dirty but silently ignore it.
+ */
+ if (geom_id == NULL)
+ continue;
+
+ /* Only collect PROVIDER data */
+ if (geom_id->lg_what != ISPROVIDER)
+ continue;
+
+ /* Only collect data when rank is 1 (physical devices) */
+ if (((struct gprovider *)(geom_id->lg_ptr))->lg_geom->lg_rank != 1)
+ continue;
+
+ /* Check if this is a dirty read quit for another try */
+ if (snap_iter->sequence0 != snap_iter->sequence1) {
+ dirty = 1;
+ break;
+ }
+ }
+ }
+
+ /* Reset iterator */
+ geom_stats_snapshot_reset(snap);
+ for (;;) {
+ snap_iter = geom_stats_snapshot_next(snap);
+ if (snap_iter == NULL)
+ break;
+
+ if (snap_iter->id == NULL)
+ continue;
+ geom_id = geom_lookupid(&geom_tree, snap_iter->id);
+ if (geom_id == NULL)
+ continue;
+ if (geom_id->lg_what != ISPROVIDER)
+ continue;
+ if (((struct gprovider *)(geom_id->lg_ptr))->lg_geom->lg_rank != 1)
+ continue;
+ /* Skip dirty reads, if present */
+ if (dirty && (snap_iter->sequence0 != snap_iter->sequence1))
+ continue;
+
+ disk_name = ((struct gprovider *)geom_id->lg_ptr)->lg_name;
+
+ if ((snap_iter->bytes[1] != 0) || (snap_iter->bytes[2] != 0)) {
+ disk_submit(disk_name, "disk_octets",
+ (derive_t)snap_iter->bytes[1],
+ (derive_t)snap_iter->bytes[2]);
+ }
+
+ if ((snap_iter->operations[1] != 0) || (snap_iter->operations[2] != 0)) {
+ disk_submit(disk_name, "disk_ops",
+ (derive_t)snap_iter->operations[1],
+ (derive_t)snap_iter->operations[2]);
+ }
+
+ read_time = devstat_compute_etime(&snap_iter->duration[DEVSTAT_READ], NULL);
+ write_time = devstat_compute_etime(&snap_iter->duration[DEVSTAT_WRITE], NULL);
+ if ((read_time != 0) || (write_time != 0)) {
+ disk_submit (disk_name, "disk_time",
+ (derive_t)(read_time*1000), (derive_t)(write_time*1000));
+ }
+ }
+ geom_stats_snapshot_free(snap);
+/* #endif KERNEL_FREEBSD */
+
#elif KERNEL_LINUX
FILE *fh;
char buffer[1024];

View file

@ -1,6 +1,6 @@
--- src/write_mongodb.c.orig 2015-12-01 15:28:11 UTC
--- src/write_mongodb.c.orig 2016-09-11 08:10:25 UTC
+++ src/write_mongodb.c
@@ -41,7 +41,7 @@
@@ -39,7 +39,7 @@
#else
# define MONGO_USE_LONG_LONG_INT 1
#endif

View file

@ -1,13 +0,0 @@
--- src/zfs_arc.c.orig 2016-07-26 05:57:19 UTC
+++ src/zfs_arc.c
@@ -270,10 +270,6 @@ static int za_read (void)
za_read_derive (ksp, "deleted", "cache_operation", "deleted");
#if __FreeBSD__
za_read_derive (ksp, "allocated","cache_operation", "allocated");
-#if defined(__FreeBSD_version) && (__FreeBSD_version < 1002501)
- /* stolen removed from sysctl kstat.zfs.misc.arcstats on FreeBSD 10.2+ */
- za_read_derive (ksp, "stolen", "cache_operation", "stolen");
-#endif
#endif
/* Issue indicators */

View file

@ -1,17 +1,17 @@
--- version-gen.sh.orig 2016-08-05 21:19:57 UTC
--- version-gen.sh.orig 2016-09-11 08:10:25 UTC
+++ version-gen.sh
@@ -1,13 +1,3 @@
@@ -1,13 +1,2 @@
#!/bin/sh
-DEFAULT_VERSION="5.5.2.git"
-
-VERSION="`git describe 2> /dev/null | grep collectd | sed -e 's/^collectd-//'`"
-DEFAULT_VERSION="5.6.0.git"
-
-if [ -d .git ]; then
- VERSION="`git describe --dirty=+ --abbrev=7 2> /dev/null | grep collectd | sed -e 's/^collectd-//' -e 's/-/./g'`"
-fi
-
-if test -z "$VERSION"; then
- VERSION="$DEFAULT_VERSION"
-fi
-
-VERSION="`echo \"$VERSION\" | sed -e 's/-/./g'`"
-
-printf "%s" "$VERSION"
+echo -n '5.5.2.git'
+echo -n '5.6.0.git'

View file

@ -18,6 +18,7 @@ lib/collectd/aggregation.so
lib/collectd/apcups.so
%%CURL_XML%%lib/collectd/ascent.so
%%CURL_XML%%lib/collectd/bind.so
%%CHRONY%%lib/collectd/chrony.so
lib/collectd/contextswitch.so
lib/collectd/cpu.so
lib/collectd/csv.so
@ -26,7 +27,7 @@ lib/collectd/csv.so
%%CURL_XML%%lib/collectd/curl_xml.so
%%DBI%%lib/collectd/dbi.so
lib/collectd/df.so
lib/collectd/disk.so
%%DISK%%lib/collectd/disk.so
lib/collectd/dns.so
lib/collectd/email.so
lib/collectd/exec.so
@ -46,6 +47,7 @@ lib/collectd/mbmon.so
lib/collectd/memcached.so
lib/collectd/memory.so
%%MODBUS%%lib/collectd/modbus.so
%%MQTT%%lib/collectd/mqtt.so
%%MYSQL%%lib/collectd/mysql.so
lib/collectd/network.so
%%CURL%%lib/collectd/nginx.so
@ -119,6 +121,7 @@ man/man1/collectdmon.1.gz
man/man5/collectd-email.5.gz
man/man5/collectd-exec.5.gz
man/man5/collectd-java.5.gz
man/man5/collectd-lua.5.gz
man/man5/collectd-perl.5.gz
man/man5/collectd-python.5.gz
man/man5/collectd-snmp.5.gz