mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-20 08:27:15 +00:00
Enable users plugin, which works as is
Enable zfs_arc plugin, which has been ported to FreeBSD (patch has also been submitted upstream) Make write_graphite optional, allowing it as the single output plugin (otherwise at least another output plugin is required) PR: ports/173894 Submitted by: Paul Guyot <pguyot@kallisys.net> Approved by: Krzysztof Stryjek <ports@bsdserwis.com> (maintainer) Feature safe: yes
This commit is contained in:
parent
d95e513865
commit
632973f7c8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=308074
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= collectd
|
||||
PORTVERSION= 5.1.0
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= net-mgmt
|
||||
MASTER_SITES= http://collectd.org/files/
|
||||
|
||||
@ -23,7 +23,7 @@ LATEST_LINK= collectd5
|
||||
|
||||
OPTIONS_DEFINE= CGI BIND DEBUG GCRYPT VIRT
|
||||
OPTIONS_MULTI= INPUT OUTPUT
|
||||
OPTIONS_MULTI_OUTPUT= RRDTOOL RRDCACHED WRITE_HTTP
|
||||
OPTIONS_MULTI_OUTPUT= RRDTOOL RRDCACHED WRITE_GRAPHITE WRITE_HTTP
|
||||
OPTIONS_MULTI_INPUT= APACHE APCUPS CURL CURL_JSON CURL_XML DBI DISK \
|
||||
GCRYPT NUTUPS INTERFACE MBMON MEMCACHED MYSQL NGINX OPENVPN \
|
||||
PDNS PGSQL PING PYTHON ROUTEROS SNMP TOKYOTYRANT XMMS
|
||||
@ -60,6 +60,7 @@ XMMS_DESC= XMMS
|
||||
# OUTPUT
|
||||
RRDTOOL_DESC= RRDTool
|
||||
RRDCACHED_DESC= RRDTool Cached (requires RRDTOOL)
|
||||
WRITE_GRAPHITE_DESC= write_graphite
|
||||
WRITE_HTTP_DESC= write_http
|
||||
|
||||
MAN1= collectd.1 collectd-nagios.1 collectdmon.1 collectdctl.1
|
||||
@ -133,11 +134,9 @@ CONFIGURE_ARGS= --localstatedir=/var \
|
||||
--disable-teamspeak2 \
|
||||
--disable-ted \
|
||||
--disable-thermal \
|
||||
--disable-users \
|
||||
--disable-vmem \
|
||||
--disable-vserver \
|
||||
--disable-wireless \
|
||||
--disable-zfs_arc \
|
||||
--without-perl-bindings \
|
||||
--without-librabbitmq \
|
||||
--disable-varnish \
|
||||
@ -405,6 +404,14 @@ CONFIGURE_ARGS+=--disable-libvirt
|
||||
PLIST_SUB+= VIRT="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MWRITE_GRAPHITE}
|
||||
CONFIGURE_ARGS+=--enable-write_graphite
|
||||
PLIST_SUB+= WRITE_GRAPHITE=""
|
||||
.else
|
||||
CONFIGURE_ARGS+=--disable-write_graphite
|
||||
PLIST_SUB+= WRITE_GRAPHITE="@comment "
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MWRITE_HTTP}
|
||||
CONFIGURE_ARGS+=--enable-write_http
|
||||
PLIST_SUB+= WRITE_HTTP=""
|
||||
|
@ -1,6 +1,16 @@
|
||||
--- configure.in.orig 2011-10-14 12:49:49.000000000 -0800
|
||||
+++ configure.in 2012-03-20 08:09:25.000000000 -0800
|
||||
@@ -98,7 +98,7 @@
|
||||
--- configure.in.orig 2012-04-02 08:04:58.000000000 +0000
|
||||
+++ configure.in 2012-11-23 22:00:22.424129087 +0000
|
||||
@@ -67,6 +67,9 @@
|
||||
*openbsd*)
|
||||
ac_system="OpenBSD"
|
||||
;;
|
||||
+ *freebsd*)
|
||||
+ ac_system="FreeBSD"
|
||||
+ ;;
|
||||
*aix*)
|
||||
AC_DEFINE([KERNEL_AIX], 1, [True if program is to be compiled for a AIX kernel])
|
||||
ac_system="AIX"
|
||||
@@ -98,7 +101,7 @@
|
||||
fi
|
||||
|
||||
# Where to install .pc files.
|
||||
@ -9,7 +19,24 @@
|
||||
AC_SUBST(pkgconfigdir)
|
||||
|
||||
# Check for standards compliance mode
|
||||
@@ -1745,9 +1745,6 @@
|
||||
@@ -1378,6 +1381,7 @@
|
||||
then
|
||||
AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], [])
|
||||
fi
|
||||
+
|
||||
if test "x$with_kstat" = "xyes"
|
||||
then
|
||||
AC_CHECK_LIB(devinfo, di_init, [with_devinfo="yes"], [with_devinfo="no (not found)"], [])
|
||||
@@ -1387,6 +1391,8 @@
|
||||
then
|
||||
AC_DEFINE(HAVE_LIBKSTAT, 1,
|
||||
[Define to 1 if you have the 'kstat' library (-lkstat)])
|
||||
+ BUILD_WITH_LIBKSTAT_LIBS="-lkstat"
|
||||
+ AC_SUBST(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
fi
|
||||
AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes")
|
||||
AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes")
|
||||
@@ -1807,9 +1813,6 @@
|
||||
[with_libgcrypt="yes"],
|
||||
[with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"])
|
||||
|
||||
@ -19,7 +46,7 @@
|
||||
fi
|
||||
|
||||
CPPFLAGS="$SAVE_CPPFLAGS"
|
||||
@@ -3165,7 +3162,7 @@
|
||||
@@ -3297,7 +3300,7 @@
|
||||
if test "x$with_python" = "xyes"
|
||||
then
|
||||
AC_MSG_CHECKING([for Python LIBS])
|
||||
@ -28,7 +55,7 @@
|
||||
python_config_status=$?
|
||||
|
||||
if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x"
|
||||
@@ -3180,7 +3177,7 @@
|
||||
@@ -3312,7 +3315,7 @@
|
||||
if test "x$with_python" = "xyes"
|
||||
then
|
||||
LDFLAGS="-L$python_library_path $LDFLAGS"
|
||||
@ -37,3 +64,16 @@
|
||||
|
||||
AC_CHECK_FUNC(PyObject_CallFunction,
|
||||
[with_python="yes"],
|
||||
@@ -4580,6 +4583,12 @@
|
||||
plugin_zfs_arc="yes"
|
||||
fi
|
||||
|
||||
+# FreeBSD
|
||||
+if test "x$ac_system" = "xFreeBSD"
|
||||
+then
|
||||
+ plugin_zfs_arc="yes"
|
||||
+fi
|
||||
+
|
||||
if test "x$with_devinfo$with_kstat" = "xyesyes"
|
||||
then
|
||||
plugin_cpu="yes"
|
||||
|
@ -1,6 +1,87 @@
|
||||
--- src/Makefile.am.orig 2012-01-08 16:05:12.000000000 +0100
|
||||
+++ src/Makefile.am 2012-01-08 16:05:53.000000000 +0100
|
||||
@@ -1337,12 +1337,7 @@
|
||||
--- src/Makefile.am.orig 2012-04-02 08:04:58.000000000 +0000
|
||||
+++ src/Makefile.am 2012-11-23 22:01:15.169498221 +0000
|
||||
@@ -63,7 +63,7 @@
|
||||
collectd_LDADD += -lpthread
|
||||
endif
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-collectd_LDADD += -lkstat
|
||||
+collectd_LDADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
collectd_LDADD += -ldevinfo
|
||||
@@ -224,7 +224,7 @@
|
||||
cpu_la_LDFLAGS = -module -avoid-version
|
||||
cpu_la_LIBADD =
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-cpu_la_LIBADD += -lkstat
|
||||
+cpu_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
cpu_la_LIBADD += -ldevinfo
|
||||
@@ -322,7 +322,7 @@
|
||||
disk_la_LDFLAGS = -module -avoid-version
|
||||
disk_la_LIBADD =
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-disk_la_LIBADD += -lkstat
|
||||
+disk_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
disk_la_LIBADD += -ldevinfo
|
||||
@@ -429,7 +429,7 @@
|
||||
interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
|
||||
else
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-interface_la_LIBADD += -lkstat
|
||||
+interface_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
interface_la_LIBADD += -ldevinfo
|
||||
@@ -634,7 +634,7 @@
|
||||
collectd_LDADD += "-dlopen" memory.la
|
||||
collectd_DEPENDENCIES += memory.la
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-memory_la_LIBADD += -lkstat
|
||||
+memory_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
memory_la_LIBADD += -ldevinfo
|
||||
@@ -1021,7 +1021,7 @@
|
||||
collectd_LDADD += "-dlopen" swap.la
|
||||
collectd_DEPENDENCIES += swap.la
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-swap_la_LIBADD += -lkstat
|
||||
+swap_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
if BUILD_WITH_LIBDEVINFO
|
||||
swap_la_LIBADD += -ldevinfo
|
||||
@@ -1067,7 +1067,7 @@
|
||||
pkglib_LTLIBRARIES += tape.la
|
||||
tape_la_SOURCES = tape.c
|
||||
tape_la_LDFLAGS = -module -avoid-version
|
||||
-tape_la_LIBADD = -lkstat -ldevinfo
|
||||
+tape_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS) -ldevinfo
|
||||
collectd_LDADD += "-dlopen" tape.la
|
||||
collectd_DEPENDENCIES += tape.la
|
||||
endif
|
||||
@@ -1190,7 +1190,7 @@
|
||||
uptime_la_LDFLAGS = -module -avoid-version
|
||||
uptime_la_LIBADD =
|
||||
if BUILD_WITH_LIBKSTAT
|
||||
-uptime_la_LIBADD += -lkstat
|
||||
+uptime_la_LIBADD += $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
endif
|
||||
collectd_LDADD += "-dlopen" uptime.la
|
||||
collectd_DEPENDENCIES += uptime.la
|
||||
@@ -1313,7 +1313,7 @@
|
||||
zfs_arc_la_SOURCES = zfs_arc.c
|
||||
zfs_arc_la_CFLAGS = $(AM_CFLAGS)
|
||||
zfs_arc_la_LDFLAGS = -module -avoid-version
|
||||
-zfs_arc_la_LIBADD = -lkstat
|
||||
+zfs_arc_la_LIBADD = $(BUILD_WITH_LIBKSTAT_LIBS)
|
||||
collectd_LDADD += "-dlopen" zfs_arc.la
|
||||
collectd_DEPENDENCIES += zfs_arc.la
|
||||
endif
|
||||
@@ -1374,12 +1374,7 @@
|
||||
|
||||
install-exec-hook:
|
||||
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)
|
||||
|
232
net-mgmt/collectd5/files/patch-src__zfs_arc.c
Normal file
232
net-mgmt/collectd5/files/patch-src__zfs_arc.c
Normal file
@ -0,0 +1,232 @@
|
||||
--- src/zfs_arc.c.orig 2012-04-02 08:04:58.000000000 +0000
|
||||
+++ src/zfs_arc.c 2012-11-24 17:54:21.715129054 +0000
|
||||
@@ -25,11 +25,57 @@
|
||||
#include "common.h"
|
||||
#include "plugin.h"
|
||||
|
||||
+#if !defined(HAVE_LIBKSTAT) && defined(HAVE_SYSCTLBYNAME)
|
||||
+#include <sys/sysctl.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Global variables
|
||||
*/
|
||||
-static kstat_t *ksp;
|
||||
+#if defined(HAVE_LIBKSTAT)
|
||||
extern kstat_ctl_t *kc;
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * Context
|
||||
+ */
|
||||
+struct za_context {
|
||||
+#if defined(HAVE_LIBKSTAT)
|
||||
+ kstat_t *ksp;
|
||||
+#endif
|
||||
+};
|
||||
+
|
||||
+static int za_init_context(struct za_context *ctx)
|
||||
+{
|
||||
+#if defined(HAVE_LIBKSTAT)
|
||||
+ get_kstat (&ctx->ksp, "zfs", 0, "arcstats");
|
||||
+ if (ctx->ksp == NULL)
|
||||
+ {
|
||||
+ ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat.");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+#endif
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static long long za_get_value(struct za_context *ctx, const char* name)
|
||||
+{
|
||||
+#if defined(HAVE_LIBKSTAT)
|
||||
+ return get_kstat_value(ctx->ksp, name);
|
||||
+#elif defined(HAVE_SYSCTLBYNAME)
|
||||
+ // kstat values are available on FreeBSD through sysctl
|
||||
+ char fullname[512];
|
||||
+ long long result = 0;
|
||||
+ size_t size = sizeof(result);
|
||||
+ ssnprintf(fullname, sizeof(fullname), "kstat.zfs.misc.arcstats.%s", name);
|
||||
+ if (sysctlbyname(fullname, &result, &size, NULL, 0) != 0 || size != sizeof(result))
|
||||
+ {
|
||||
+ ERROR ("zfs_arc plugin: Cannot find stats using sysctl");
|
||||
+ result = 0;
|
||||
+ }
|
||||
+ return result;
|
||||
+#endif
|
||||
+}
|
||||
|
||||
static void za_submit (const char* type, const char* type_instance, value_t* values, int values_len)
|
||||
{
|
||||
@@ -54,13 +100,13 @@
|
||||
za_submit (type, type_instance, &vv, 1);
|
||||
}
|
||||
|
||||
-static int za_read_derive (kstat_t *ksp, const char *kstat_value,
|
||||
+static int za_read_derive (struct za_context *ctx, const char *kstat_value,
|
||||
const char *type, const char *type_instance)
|
||||
{
|
||||
long long tmp;
|
||||
value_t v;
|
||||
|
||||
- tmp = get_kstat_value (ksp, kstat_value);
|
||||
+ tmp = za_get_value (ctx, (char *)kstat_value);
|
||||
if (tmp == -1LL)
|
||||
{
|
||||
ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
|
||||
@@ -69,15 +115,16 @@
|
||||
|
||||
v.derive = (derive_t) tmp;
|
||||
za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
|
||||
+ return (0);
|
||||
}
|
||||
|
||||
-static int za_read_gauge (kstat_t *ksp, const char *kstat_value,
|
||||
+static int za_read_gauge (struct za_context *ctx, const char *kstat_value,
|
||||
const char *type, const char *type_instance)
|
||||
{
|
||||
long long tmp;
|
||||
value_t v;
|
||||
|
||||
- tmp = get_kstat_value (ksp, kstat_value);
|
||||
+ tmp = za_get_value (ctx, (char *)kstat_value);
|
||||
if (tmp == -1LL)
|
||||
{
|
||||
ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value);
|
||||
@@ -86,18 +133,14 @@
|
||||
|
||||
v.gauge = (gauge_t) tmp;
|
||||
za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1);
|
||||
+ return (0);
|
||||
}
|
||||
|
||||
-static void za_submit_ratio (const char* type_instance, gauge_t hits, gauge_t misses)
|
||||
+static void za_submit_ratio (const char* type_instance, long long hits, long long misses)
|
||||
{
|
||||
gauge_t ratio = NAN;
|
||||
|
||||
- if (!isfinite (hits) || (hits < 0.0))
|
||||
- hits = 0.0;
|
||||
- if (!isfinite (misses) || (misses < 0.0))
|
||||
- misses = 0.0;
|
||||
-
|
||||
- if ((hits != 0.0) || (misses != 0.0))
|
||||
+ if ((hits > 0) || (misses > 0))
|
||||
ratio = hits / (hits + misses);
|
||||
|
||||
za_submit_gauge ("cache_ratio", type_instance, ratio);
|
||||
@@ -105,56 +148,55 @@
|
||||
|
||||
static int za_read (void)
|
||||
{
|
||||
- gauge_t arc_hits, arc_misses, l2_hits, l2_misses;
|
||||
+ long long arc_hits, arc_misses, l2_hits, l2_misses;
|
||||
value_t l2_io[2];
|
||||
+ struct za_context ctx;
|
||||
|
||||
- get_kstat (&ksp, "zfs", 0, "arcstats");
|
||||
- if (ksp == NULL)
|
||||
+ if (za_init_context (&ctx) < 0)
|
||||
{
|
||||
- ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat.");
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* Sizes */
|
||||
- za_read_gauge (ksp, "size", "cache_size", "arc");
|
||||
- za_read_gauge (ksp, "l2_size", "cache_size", "L2");
|
||||
+ za_read_gauge (&ctx, "size", "cache_size", "arc");
|
||||
+ za_read_gauge (&ctx, "l2_size", "cache_size", "L2");
|
||||
|
||||
- /* Operations */
|
||||
- za_read_derive (ksp, "allocated","cache_operation", "allocated");
|
||||
- za_read_derive (ksp, "deleted", "cache_operation", "deleted");
|
||||
- za_read_derive (ksp, "stolen", "cache_operation", "stolen");
|
||||
-
|
||||
- /* Issue indicators */
|
||||
- za_read_derive (ksp, "mutex_miss", "mutex_operation", "miss");
|
||||
- za_read_derive (ksp, "hash_collisions", "hash_collisions", "");
|
||||
+ /* Operations */
|
||||
+ za_read_derive (&ctx, "allocated","cache_operation", "allocated");
|
||||
+ za_read_derive (&ctx, "deleted", "cache_operation", "deleted");
|
||||
+ za_read_derive (&ctx, "stolen", "cache_operation", "stolen");
|
||||
+
|
||||
+ /* Issue indicators */
|
||||
+ za_read_derive (&ctx, "mutex_miss", "mutex_operation", "miss");
|
||||
+ za_read_derive (&ctx, "hash_collisions", "hash_collisions", "");
|
||||
|
||||
- /* Evictions */
|
||||
- za_read_derive (ksp, "evict_l2_cached", "cache_eviction", "cached");
|
||||
- za_read_derive (ksp, "evict_l2_eligible", "cache_eviction", "eligible");
|
||||
- za_read_derive (ksp, "evict_l2_ineligible", "cache_eviction", "ineligible");
|
||||
+ /* Evictions */
|
||||
+ za_read_derive (&ctx, "evict_l2_cached", "cache_eviction", "cached");
|
||||
+ za_read_derive (&ctx, "evict_l2_eligible", "cache_eviction", "eligible");
|
||||
+ za_read_derive (&ctx, "evict_l2_ineligible", "cache_eviction", "ineligible");
|
||||
|
||||
/* Hits / misses */
|
||||
- za_read_derive (ksp, "demand_data_hits", "cache_result", "demand_data-hit");
|
||||
- za_read_derive (ksp, "demand_metadata_hits", "cache_result", "demand_metadata-hit");
|
||||
- za_read_derive (ksp, "prefetch_data_hits", "cache_result", "prefetch_data-hit");
|
||||
- za_read_derive (ksp, "prefetch_metadata_hits", "cache_result", "prefetch_metadata-hit");
|
||||
- za_read_derive (ksp, "demand_data_misses", "cache_result", "demand_data-miss");
|
||||
- za_read_derive (ksp, "demand_metadata_misses", "cache_result", "demand_metadata-miss");
|
||||
- za_read_derive (ksp, "prefetch_data_misses", "cache_result", "prefetch_data-miss");
|
||||
- za_read_derive (ksp, "prefetch_metadata_misses", "cache_result", "prefetch_metadata-miss");
|
||||
+ za_read_derive (&ctx, "demand_data_hits", "cache_result", "demand_data-hit");
|
||||
+ za_read_derive (&ctx, "demand_metadata_hits", "cache_result", "demand_metadata-hit");
|
||||
+ za_read_derive (&ctx, "prefetch_data_hits", "cache_result", "prefetch_data-hit");
|
||||
+ za_read_derive (&ctx, "prefetch_metadata_hits", "cache_result", "prefetch_metadata-hit");
|
||||
+ za_read_derive (&ctx, "demand_data_misses", "cache_result", "demand_data-miss");
|
||||
+ za_read_derive (&ctx, "demand_metadata_misses", "cache_result", "demand_metadata-miss");
|
||||
+ za_read_derive (&ctx, "prefetch_data_misses", "cache_result", "prefetch_data-miss");
|
||||
+ za_read_derive (&ctx, "prefetch_metadata_misses", "cache_result", "prefetch_metadata-miss");
|
||||
|
||||
/* Ratios */
|
||||
- arc_hits = (gauge_t) get_kstat_value(ksp, "hits");
|
||||
- arc_misses = (gauge_t) get_kstat_value(ksp, "misses");
|
||||
- l2_hits = (gauge_t) get_kstat_value(ksp, "l2_hits");
|
||||
- l2_misses = (gauge_t) get_kstat_value(ksp, "l2_misses");
|
||||
+ arc_hits = za_get_value (&ctx, "hits");
|
||||
+ arc_misses = za_get_value (&ctx, "misses");
|
||||
+ l2_hits = za_get_value (&ctx, "l2_hits");
|
||||
+ l2_misses = za_get_value (&ctx, "l2_misses");
|
||||
|
||||
za_submit_ratio ("arc", arc_hits, arc_misses);
|
||||
za_submit_ratio ("L2", l2_hits, l2_misses);
|
||||
|
||||
/* I/O */
|
||||
- l2_io[0].derive = get_kstat_value(ksp, "l2_read_bytes");
|
||||
- l2_io[1].derive = get_kstat_value(ksp, "l2_write_bytes");
|
||||
+ l2_io[0].derive = za_get_value (&ctx, "l2_read_bytes");
|
||||
+ l2_io[1].derive = za_get_value (&ctx, "l2_write_bytes");
|
||||
|
||||
za_submit ("io_octets", "L2", l2_io, /* num values = */ 2);
|
||||
|
||||
@@ -163,14 +205,23 @@
|
||||
|
||||
static int za_init (void) /* {{{ */
|
||||
{
|
||||
- ksp = NULL;
|
||||
-
|
||||
+#if defined(HAVE_LIBKSTAT)
|
||||
/* kstats chain already opened by update_kstat (using *kc), verify everything went fine. */
|
||||
if (kc == NULL)
|
||||
{
|
||||
ERROR ("zfs_arc plugin: kstat chain control structure not available.");
|
||||
return (-1);
|
||||
}
|
||||
+#elif defined(HAVE_SYSCTLBYNAME)
|
||||
+ /* make sure ARC is available (arc_size is not null) */
|
||||
+ unsigned long long arc_size;
|
||||
+ size_t size = sizeof(arc_size);
|
||||
+ if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc_size, &size, NULL, 0) != 0 || arc_size == 0)
|
||||
+ {
|
||||
+ ERROR ("zfs_arc plugin: could not get ARC size using sysctl, is ARC enabled?");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
return (0);
|
||||
} /* }}} int za_init */
|
@ -103,12 +103,16 @@ lib/collectd/unixsock.la
|
||||
lib/collectd/unixsock.so
|
||||
lib/collectd/uptime.la
|
||||
lib/collectd/uptime.so
|
||||
lib/collectd/users.la
|
||||
lib/collectd/users.so
|
||||
lib/collectd/uuid.la
|
||||
lib/collectd/uuid.so
|
||||
%%VIRT%%lib/collectd/libvirt.la
|
||||
%%VIRT%%lib/collectd/libvirt.so
|
||||
lib/collectd/write_graphite.so
|
||||
lib/collectd/write_graphite.la
|
||||
%%WRITE_GRAPHITE%%lib/collectd/write_graphite.so
|
||||
%%WRITE_GRAPHITE%%lib/collectd/write_graphite.la
|
||||
lib/collectd/zfs_arc.la
|
||||
lib/collectd/zfs_arc.so
|
||||
lib/libcollectdclient.la
|
||||
lib/libcollectdclient.so
|
||||
lib/libcollectdclient.so.0
|
||||
|
Loading…
Reference in New Issue
Block a user