diff options
-rw-r--r-- | net-mgmt/collectd5/Makefile | 6 | ||||
-rw-r--r-- | net-mgmt/collectd5/distinfo | 4 | ||||
-rw-r--r-- | net-mgmt/collectd5/files/patch-configure.in | 30 | ||||
-rw-r--r-- | net-mgmt/collectd5/files/patch-src__dns.c | 16 | ||||
-rw-r--r-- | net-mgmt/collectd5/files/patch-src__network.c | 12 | ||||
-rw-r--r-- | net-mgmt/collectd5/files/patch-src__zfs_arc.c | 391 | ||||
-rw-r--r-- | net-mgmt/collectd5/files/patch-version-gen.sh | 18 | ||||
-rw-r--r-- | net-mgmt/collectd5/pkg-plist | 7 |
8 files changed, 241 insertions, 243 deletions
diff --git a/net-mgmt/collectd5/Makefile b/net-mgmt/collectd5/Makefile index f2f6d368557c..b408cff6c375 100644 --- a/net-mgmt/collectd5/Makefile +++ b/net-mgmt/collectd5/Makefile @@ -1,14 +1,14 @@ # Created by: Matt Peterson <matt@peterson.org> # $FreeBSD$ PORTNAME= collectd -PORTVERSION= 5.1.0 -PORTREVISION= 5 +PORTVERSION= 5.2.1 CATEGORIES= net-mgmt MASTER_SITES= http://collectd.org/files/ MAINTAINER= ports@bsdserwis.com COMMENT= Systems & network statistics collection daemon +USE_BZIP2= yes USE_GMAKE= yes GNU_CONFIGURE= yes USE_AUTOTOOLS= autoconf autoheader automake libltdl @@ -64,7 +64,7 @@ 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 +MAN1= collectd.1 collectd-nagios.1 collectd-tg.1 collectdmon.1 collectdctl.1 MAN5= collectd.conf.5 collectd-email.5 collectd-exec.5 \ collectd-snmp.5 collectd-unixsock.5 collectd-perl.5 \ collectd-java.5 collectd-python.5 types.db.5 collectd-threshold.5 diff --git a/net-mgmt/collectd5/distinfo b/net-mgmt/collectd5/distinfo index b6a0a004be66..210e9114b865 100644 --- a/net-mgmt/collectd5/distinfo +++ b/net-mgmt/collectd5/distinfo @@ -1,2 +1,2 @@ -SHA256 (collectd-5.1.0.tar.gz) = 8e06c03c5467f3021565570fc86c931a43579aa6dad25ca5999d66850cd19927 -SIZE (collectd-5.1.0.tar.gz) = 1630323 +SHA256 (collectd-5.2.1.tar.bz2) = d82a5c302d2cfa0c3f7a3c7b7e37fb3faf42b17d2addae036cb819b6b25b9d98 +SIZE (collectd-5.2.1.tar.bz2) = 1395740 diff --git a/net-mgmt/collectd5/files/patch-configure.in b/net-mgmt/collectd5/files/patch-configure.in index 5b5252dcf09b..a47af5969fe5 100644 --- a/net-mgmt/collectd5/files/patch-configure.in +++ b/net-mgmt/collectd5/files/patch-configure.in @@ -1,6 +1,8 @@ ---- 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 @@ +diff --git configure.in configure.in +index d50e802..4660787 100644 +--- configure.in ++++ configure.in +@@ -67,6 +67,9 @@ case $host_os in *openbsd*) ac_system="OpenBSD" ;; @@ -10,7 +12,7 @@ *aix*) AC_DEFINE([KERNEL_AIX], 1, [True if program is to be compiled for a AIX kernel]) ac_system="AIX" -@@ -98,7 +101,7 @@ +@@ -99,7 +102,7 @@ then fi # Where to install .pc files. @@ -19,7 +21,7 @@ AC_SUBST(pkgconfigdir) # Check for standards compliance mode -@@ -1378,6 +1381,7 @@ +@@ -1386,6 +1389,7 @@ if test "x$with_kstat" = "xyes" then AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], []) fi @@ -27,7 +29,7 @@ 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 @@ +@@ -1395,6 +1399,8 @@ if test "x$with_kstat" = "xyes" then AC_DEFINE(HAVE_LIBKSTAT, 1, [Define to 1 if you have the 'kstat' library (-lkstat)]) @@ -36,7 +38,7 @@ 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 @@ +@@ -1815,9 +1821,6 @@ then [with_libgcrypt="yes"], [with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"]) @@ -46,7 +48,7 @@ fi CPPFLAGS="$SAVE_CPPFLAGS" -@@ -3297,7 +3300,7 @@ +@@ -3376,7 +3379,7 @@ fi if test "x$with_python" = "xyes" then AC_MSG_CHECKING([for Python LIBS]) @@ -55,7 +57,7 @@ python_config_status=$? if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x" -@@ -3312,7 +3315,7 @@ +@@ -3391,7 +3394,7 @@ fi if test "x$with_python" = "xyes" then LDFLAGS="-L$python_library_path $LDFLAGS" @@ -64,18 +66,16 @@ AC_CHECK_FUNC(PyObject_CallFunction, [with_python="yes"], ---- configure.in.orig 2013-01-03 17:07:22.000000000 +0000 -+++ configure.in 2013-01-03 17:07:58.000000000 +0000 -@@ -4057,7 +4057,7 @@ +@@ -4136,7 +4139,7 @@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING([--with-libvarnish@<:@=PREFIX@:>@], [Pat then AC_MSG_NOTICE([Not checking for libvarnish: Manually configured]) with_libvarnish_cflags="-I$withval/include" -- with_libvarnish_libs="-L$withval/lib -lvarnish -lvarnishcompat -lvarnishapi" -+ with_libvarnish_libs="-L$withval/lib/varnish -lvarnish -lvarnishcompat -lvarnishapi" +- with_libvarnish_libs="-L$withval/lib -lvarnishapi" ++ with_libvarnish_libs="-L$withval/lib/varnish -lvarnishapi" with_libvarnish="yes" fi; fi; fi ], -@@ -4580,6 +4583,12 @@ +@@ -4661,6 +4664,12 @@ then plugin_zfs_arc="yes" fi diff --git a/net-mgmt/collectd5/files/patch-src__dns.c b/net-mgmt/collectd5/files/patch-src__dns.c index fb045049b25a..84e0d2e65398 100644 --- a/net-mgmt/collectd5/files/patch-src__dns.c +++ b/net-mgmt/collectd5/files/patch-src__dns.c @@ -1,6 +1,8 @@ ---- src/dns.c.orig 2008-09-05 15:26:02.000000000 +0000 -+++ src/dns.c 2008-09-05 15:25:55.000000000 +0000 -@@ -210,6 +210,15 @@ +diff --git src/dns.c src/dns.c +index fe3b672..0c43985 100644 +--- src/dns.c ++++ src/dns.c +@@ -223,6 +223,15 @@ static void *dns_child_loop (__attribute__((unused)) void *dummy) pthread_sigmask (SIG_SETMASK, &sigmask, NULL); } @@ -8,11 +10,11 @@ +#ifdef __sparc64__ + if (pcap_device == NULL) + { -+ ERROR ("dns plugin: Interface required"); -+ return (NULL); ++ ERROR ("dns plugin: Interface required"); ++ return (NULL); + } +#endif + /* Passing `pcap_device == NULL' is okay and the same as passign "any" */ - DEBUG ("Creating PCAP object.."); - pcap_obj = pcap_open_live (pcap_device, + DEBUG ("dns plugin: Creating PCAP object.."); + pcap_obj = pcap_open_live ((pcap_device != NULL) ? pcap_device : "any", diff --git a/net-mgmt/collectd5/files/patch-src__network.c b/net-mgmt/collectd5/files/patch-src__network.c deleted file mode 100644 index e85ff96bb54b..000000000000 --- a/net-mgmt/collectd5/files/patch-src__network.c +++ /dev/null @@ -1,12 +0,0 @@ ---- src/network.c.orig 2011-07-14 15:41:32.000000000 +0200 -+++ src/network.c 2011-07-14 15:41:37.000000000 +0200 -@@ -58,7 +58,9 @@ - #endif - - #if HAVE_LIBGCRYPT -+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - # include <gcrypt.h> -+#pragma GCC diagnostic warning "-Wdeprecated-declarations" - GCRY_THREAD_OPTION_PTHREAD_IMPL; - #endif - diff --git a/net-mgmt/collectd5/files/patch-src__zfs_arc.c b/net-mgmt/collectd5/files/patch-src__zfs_arc.c index 0de69f716df5..c8af7b8774e2 100644 --- a/net-mgmt/collectd5/files/patch-src__zfs_arc.c +++ b/net-mgmt/collectd5/files/patch-src__zfs_arc.c @@ -1,232 +1,237 @@ ---- 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 +diff --git configure.in configure.in +index 4660787..54fd9d8 100644 +--- configure.in ++++ configure.in +@@ -4843,6 +4843,12 @@ then + plugin_users="yes" + fi + ++# FreeBSD ++if test "x$have_struct_kinfo_proc_freebsd" = "xyes" ++then ++ plugin_zfs_arc="yes" ++fi + - /* + m4_divert_once([HELP_ENABLE], [ + collectd plugins:]) + +diff --git src/zfs_arc.c src/zfs_arc.c +index aa90019..17e8513 100644 +--- src/zfs_arc.c ++++ src/zfs_arc.c +@@ -19,6 +19,8 @@ + * Authors: + * Anthony Dewhurst <dewhurst at gmail> + * Aurelien Rougemont <beorn at gandi.net> ++ * Brad Davis <brd at FreeBSD.org> ++ * William Grzybowski <william88 at gmail> + **/ + + #include "collectd.h" +@@ -29,7 +31,14 @@ * Global variables */ --static kstat_t *ksp; + +#if defined(HAVE_LIBKSTAT) ++static kstat_t *ksp; extern kstat_ctl_t *kc; -+#endif -+ -+/* -+ * Context -+ */ -+struct za_context { -+#if defined(HAVE_LIBKSTAT) -+ kstat_t *ksp; -+#endif -+}; ++#elif defined(HAVE_SYSCTLBYNAME) ++ typedef void kstat_t; ++# include <sys/types.h> ++# include <sys/sysctl.h> ++#endif /* HAVE_SYSCTLBYNAME */ + + static void za_submit (const char* type, const char* type_instance, value_t* values, int values_len) + { +@@ -57,37 +66,56 @@ static void za_submit_gauge (const char* type, const char* type_instance, gauge_ + static int za_read_derive (kstat_t *ksp, const char *kstat_value, + const char *type, const char *type_instance) + { +- long long tmp; +- value_t v; +- +- tmp = get_kstat_value (ksp, (char *)kstat_value); +- if (tmp == -1LL) +- { +- ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); +- return (-1); +- } +- +- v.derive = (derive_t) tmp; +- za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1); +- return (0); ++ long long tmp; ++ value_t v; + -+static int za_init_context(struct za_context *ctx) -+{ +#if defined(HAVE_LIBKSTAT) -+ get_kstat (&ctx->ksp, "zfs", 0, "arcstats"); -+ if (ctx->ksp == NULL) ++ tmp = get_kstat_value (ksp, (char *)kstat_value); ++ if (tmp == -1LL) + { -+ ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat."); ++ ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); + 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; ++ size_t size; ++ size = sizeof(tmp); ++ if (sysctlbyname(kstat_value, &tmp, &size, NULL, 0) < 0) { ++ ERROR ("zfs_arc plugin: Reading sysctl \"%s\" failed.", kstat_value); ++ return (-1); + } -+ 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); ++#endif /* HAVE_LIBKSTAT */ ++ ++ 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, + static int za_read_gauge (kstat_t *ksp, 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; +- long long tmp; +- value_t v; +- +- tmp = get_kstat_value (ksp, (char *)kstat_value); +- if (tmp == -1LL) +- { +- ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); +- return (-1); +- } - -- if ((hits != 0.0) || (misses != 0.0)) -+ if ((hits > 0) || (misses > 0)) - ratio = hits / (hits + misses); +- v.gauge = (gauge_t) tmp; +- za_submit (type, type_instance, /* values = */ &v, /* values_num = */ 1); +- return (0); ++ long long tmp; ++ value_t v; ++ ++#if defined(HAVE_LIBKSTAT) ++ tmp = get_kstat_value (ksp, (char *)kstat_value); ++ if (tmp == -1LL) ++ { ++ ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); ++ return (-1); ++ } ++ ++#elif defined(HAVE_SYSCTLBYNAME) ++ size_t size; ++ size = sizeof(tmp); ++ if (sysctlbyname(kstat_value, &tmp, &size, NULL, 0) < 0) { ++ ERROR ("zfs_arc plugin: Reading sysctl \"%s\" failed.", kstat_value); ++ return (-1); ++ } ++#endif /* HAVE_LIBKSTAT */ ++ ++ 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) +@@ -105,11 +133,67 @@ static void za_submit_ratio (const char* type_instance, gauge_t hits, gauge_t mi 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", ""); +-static int za_read (void) ++#if defined(HAVE_SYSCTLBYNAME) ++static int za_read_freebsd (void) ++{ ++ // Sizes ++ za_read_gauge (NULL, "kstat.zfs.misc.arcstats.size", "cache_size", "arc"); ++ za_read_gauge (NULL, "kstat.zfs.misc.arcstats.l2_size", "cache_size", "L2"); ++ + /* 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"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.allocated", "cache_operation", "allocated"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.deleted", "cache_operation", "deleted"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.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"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.mutex_miss", "mutex_operation", "miss"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.hash_collisions", "hash_collisions", ""); ++ + /* 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_read_derive (NULL, "kstat.zfs.misc.arcstats.evict_l2_cached", "cache_eviction", "cached"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.evict_l2_eligible", "cache_eviction", "eligible"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.evict_l2_ineligible", "cache_eviction", "ineligible"); ++ ++ /* Hits / misses */ ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.demand_data_hits", "cache_result", "demand_data-hit"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.demand_metadata_hits", "cache_result", "demand_metadata-hit"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.prefetch_data_hits", "cache_result", "prefetch_data-hit"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.prefetch_metadata_hits", "cache_result", "prefetch_metadata-hit"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.demand_data_misses", "cache_result", "demand_data-miss"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.demand_metadata_misses", "cache_result", "demand_metadata-miss"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.prefetch_data_misses", "cache_result", "prefetch_data-miss"); ++ za_read_derive (NULL, "kstat.zfs.misc.arcstats.prefetch_metadata_misses", "cache_result", "prefetch_metadata-miss"); ++ ++ /* Ratios */ ++ gauge_t arc_hits; ++ gauge_t arc_misses; ++ gauge_t l2_hits; ++ gauge_t l2_misses; ++ value_t l2_io[2]; ++ ++ size_t size; ++ size = sizeof(arc_hits); ++ sysctlbyname("kstat.zfs.misc.arcstats.hits", &arc_hits, &size, NULL, 0); ++ sysctlbyname("kstat.zfs.misc.arcstats.misses", &arc_misses, &size, NULL, 0); ++ sysctlbyname("kstat.zfs.misc.arcstats.l2_hits", &l2_hits, &size, NULL, 0); ++ sysctlbyname("kstat.zfs.misc.arcstats.l2_misses", &l2_misses, &size, NULL, 0); ++ ++ za_submit_ratio ("arc", arc_hits, arc_misses); ++ za_submit_ratio ("L2", l2_hits, l2_misses); ++ ++ /* I/O */ ++ sysctlbyname("kstat.zfs.misc.arcstats.l2_read_bytes", &l2_io[0].derive, &size, NULL, 0); ++ sysctlbyname("kstat.zfs.misc.arcstats.l2_write_bytes", &l2_io[1].derive, &size, NULL, 0); ++ ++ za_submit ("io_octets", "L2", l2_io, /* num values = */ 2); ++ ++ return (0); ++} ++#elif defined(HAVE_LIBKSTAT) ++static int za_read_solaris (void) + { + gauge_t arc_hits, arc_misses, l2_hits, l2_misses; + value_t l2_io[2]; +- kstat_t *ksp = NULL; - za_submit ("io_octets", "L2", l2_io, /* num values = */ 2); + get_kstat (&ksp, "zfs", 0, "arcstats"); + if (ksp == NULL) +@@ -163,15 +247,20 @@ static int za_read (void) -@@ -163,14 +205,23 @@ + return (0); + } /* int za_read */ ++#endif static int za_init (void) /* {{{ */ { -- ksp = NULL; -- +#if defined(HAVE_LIBKSTAT) ++ ksp = NULL; ++ /* 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 ++#endif /* HAVE_LIBKSTAT */ return (0); } /* }}} int za_init */ +@@ -179,7 +268,16 @@ static int za_init (void) /* {{{ */ + void module_register (void) + { + plugin_register_init ("zfs_arc", za_init); +- plugin_register_read ("zfs_arc", za_read); ++ ++#if defined(HAVE_LIBKSTAT) ++ plugin_register_read ("zfs_arc", za_read_solaris); ++#elif defined(HAVE_SYSCTLBYNAME) ++ plugin_register_read ("zfs_arc", za_read_freebsd); ++#else ++ ERROR ("Unable to determine which OS we are on"); ++ return (-1); ++#endif /* HAVE_SYSCTLBYNAME */ ++ + } /* void module_register */ + + /* vmi: set sw=8 noexpandtab fdm=marker : */ diff --git a/net-mgmt/collectd5/files/patch-version-gen.sh b/net-mgmt/collectd5/files/patch-version-gen.sh index 390b3ed77615..c659d0640b69 100644 --- a/net-mgmt/collectd5/files/patch-version-gen.sh +++ b/net-mgmt/collectd5/files/patch-version-gen.sh @@ -1,10 +1,12 @@ ---- version-gen.sh.orig 2012-04-09 20:04:16.130293641 -0500 -+++ version-gen.sh 2012-04-09 20:05:04.927297496 -0500 -@@ -1,17 +1,3 @@ +diff --git version-gen.sh version-gen.sh +index e344541..1ed7480 100755 +--- version-gen.sh ++++ version-gen.sh +@@ -1,13 +1,3 @@ -#!/usr/bin/env bash +#!/bin/sh --DEFAULT_VERSION="5.1.0.git" +-DEFAULT_VERSION="5.2.1.git" - -VERSION="`git describe 2> /dev/null | sed -e 's/^collectd-//'`" - @@ -14,9 +16,5 @@ - -VERSION="`echo \"$VERSION\" | sed -e 's/-/./g'`" - --if test "x`uname -s`" = "xAIX" ; then -- echo "$VERSION\c" --else -- echo -n "$VERSION" --fi -+echo -n "5.1.0.git" +-echo -n "$VERSION" ++echo -n "5.2.1.git" diff --git a/net-mgmt/collectd5/pkg-plist b/net-mgmt/collectd5/pkg-plist index 4e9aa4d73b93..2d904067bf55 100644 --- a/net-mgmt/collectd5/pkg-plist +++ b/net-mgmt/collectd5/pkg-plist @@ -10,9 +10,14 @@ etc/collectd.conf.sample %%CGI%%@exec if [ ! -f %B/collection.conf ] ; then cp -p %B/%f %B/collection.conf; fi %%CGI%%@dirrmtry %%WWWDIR%% bin/collectd-nagios +bin/collectd-tg bin/collectdctl include/collectd/client.h include/collectd/lcc_features.h +include/collectd/network.h +include/collectd/network_buffer.h +lib/collectd/aggregation.la +lib/collectd/aggregation.so %%APACHE%%lib/collectd/apache.la %%APACHE%%lib/collectd/apache.so %%APCUPS%%lib/collectd/apcups.la @@ -123,7 +128,7 @@ lib/collectd/zfs_arc.la lib/collectd/zfs_arc.so lib/libcollectdclient.la lib/libcollectdclient.so -lib/libcollectdclient.so.0 +lib/libcollectdclient.so.1 libdata/pkgconfig/libcollectdclient.pc %%WRITE_HTTP%%lib/collectd/write_http.la %%WRITE_HTTP%%lib/collectd/write_http.so |