dependency_error="no"
plugin_ascent="no"
-plugin_arc="no"
plugin_battery="no"
plugin_bind="no"
plugin_conntrack="no"
plugin_vmem="no"
plugin_vserver="no"
plugin_wireless="no"
+plugin_zfs_arc="no"
# Linux
if test "x$ac_system" = "xLinux"
if test "x$with_kstat" = "xyes"
then
plugin_uptime="yes"
- plugin_arc="yes"
+ plugin_zfs_arc="yes"
fi
if test "x$with_devinfo$with_kstat" = "xyesyes"
AC_PLUGIN([apcups], [yes], [Statistics of UPSes by APC])
AC_PLUGIN([apple_sensors], [$with_libiokit], [Apple's hardware sensors])
AC_PLUGIN([ascent], [$plugin_ascent], [AscentEmu player statistics])
-AC_PLUGIN([arc], [$plugin_arc], [ARC statistics])
AC_PLUGIN([battery], [$plugin_battery], [Battery statistics])
AC_PLUGIN([bind], [$plugin_bind], [ISC Bind nameserver statistics])
AC_PLUGIN([conntrack], [$plugin_conntrack], [nf_conntrack statistics])
AC_PLUGIN([wireless], [$plugin_wireless], [Wireless statistics])
AC_PLUGIN([write_http], [$with_libcurl], [HTTP output plugin])
AC_PLUGIN([xmms], [$with_libxmms], [XMMS statistics])
+AC_PLUGIN([zfs_arc], [$plugin_zfs_arc], [ZFS ARC statistics])
dnl Default configuration file
# Load either syslog or logfile
apcups . . . . . . . $enable_apcups
apple_sensors . . . . $enable_apple_sensors
ascent . . . . . . . $enable_ascent
- arc . . . . . . . . . $enable_arc
battery . . . . . . . $enable_battery
bind . . . . . . . . $enable_bind
conntrack . . . . . . $enable_conntrack
wireless . . . . . . $enable_wireless
write_http . . . . . $enable_write_http
xmms . . . . . . . . $enable_xmms
+ zfs_arc . . . . . . . $enable_zfs_arc
EOF
/**
- * collectd - src/arc.c
- * Copyright (C) 2009 Anthony Dewhurst
+ * collectd - src/zfs_arc.c
+ * Copyright (C) 2009 Anthony Dewhurst
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
static kstat_t *ksp;
extern kstat_ctl_t *kc;
-static void arc_submit (const char* type, const char* type_instance, value_t values[], int values_len)
+static void za_submit (const char* type, const char* type_instance, value_t values[], int values_len)
{
value_list_t vl = VALUE_LIST_INIT;
vl.values_len = values_len;
sstrncpy (vl.host, hostname_g, sizeof (vl.host));
- sstrncpy (vl.plugin, "arc", sizeof (vl.plugin));
+ sstrncpy (vl.plugin, "zfs_arc", sizeof (vl.plugin));
sstrncpy (vl.type, type, sizeof (vl.type));
sstrncpy (vl.type_instance, type_instance, sizeof (vl.type));
plugin_dispatch_values (&vl);
}
-static void arc_submit_gauge (const char* type, const char* type_instance, gauge_t value)
+static void za_submit_gauge (const char* type, const char* type_instance, gauge_t value)
{
value_t values[1];
values[0].gauge = value;
- arc_submit (type, type_instance, values, STATIC_ARRAY_SIZE(values));
+ za_submit (type, type_instance, values, STATIC_ARRAY_SIZE(values));
}
-static void arc_submit_size (gauge_t size, gauge_t size_target, gauge_t limit_min, gauge_t limit_max)
+static void za_submit_size (gauge_t size, gauge_t size_target, gauge_t limit_min, gauge_t limit_max)
{
value_t values[4];
values[2].gauge = limit_min;
values[3].gauge = limit_max;
- arc_submit ("arc_size", "", values, STATIC_ARRAY_SIZE(values));
+ za_submit ("arc_size", "", values, STATIC_ARRAY_SIZE(values));
}
-static void arc_submit_bytes (counter_t read, counter_t write)
+static void za_submit_bytes (counter_t read, counter_t write)
{
value_t values[2];
values[0].counter = read;
values[1].counter = write;
- arc_submit ("arc_l2_bytes", "", values, STATIC_ARRAY_SIZE(values));
+ za_submit ("arc_l2_bytes", "", values, STATIC_ARRAY_SIZE(values));
}
-static void arc_submit_counts (char *type_instance, counter_t demand_data, counter_t demand_metadata,
+static void za_submit_counts (char *type_instance, counter_t demand_data, counter_t demand_metadata,
counter_t prefetch_data, counter_t prefetch_metadata)
{
value_t values[4];
values[2].counter = prefetch_data;
values[3].counter = prefetch_metadata;
- arc_submit ("arc_counts", type_instance, values, STATIC_ARRAY_SIZE(values));
+ za_submit ("arc_counts", type_instance, values, STATIC_ARRAY_SIZE(values));
}
-static int arc_read (void)
+static int za_read (void)
{
gauge_t arcsize, targetsize, minlimit, maxlimit, hits, misses, l2_size, l2_hits, l2_misses;
counter_t demand_data_hits, demand_metadata_hits, prefetch_data_hits, prefetch_metadata_hits;
get_kstat (&ksp, "zfs", 0, "arcstats");
if (ksp == NULL)
{
- ERROR ("arc plugin: Cannot find zfs:0:arcstats kstat.");
+ ERROR ("zfs_arc plugin: Cannot find zfs:0:arcstats kstat.");
return (-1);
}
l2_misses = get_kstat_value(ksp, "l2_misses");
- arc_submit_size (arcsize, targetsize, minlimit, maxlimit);
- arc_submit_gauge ("arc_l2_size", "", l2_size);
+ za_submit_size (arcsize, targetsize, minlimit, maxlimit);
+ za_submit_gauge ("arc_l2_size", "", l2_size);
- arc_submit_counts ("hits", demand_data_hits, demand_metadata_hits,
- prefetch_data_hits, prefetch_metadata_hits);
- arc_submit_counts ("misses", demand_data_misses, demand_metadata_misses,
- prefetch_data_misses, prefetch_metadata_misses);
+ za_submit_counts ("hits", demand_data_hits, demand_metadata_hits,
+ prefetch_data_hits, prefetch_metadata_hits);
+ za_submit_counts ("misses", demand_data_misses, demand_metadata_misses,
+ prefetch_data_misses, prefetch_metadata_misses);
- arc_submit_gauge ("arc_ratio", "L1", hits / (hits + misses));
- arc_submit_gauge ("arc_ratio", "L2", l2_hits / (l2_hits + l2_misses));
+ za_submit_gauge ("arc_ratio", "L1", hits / (hits + misses));
+ za_submit_gauge ("arc_ratio", "L2", l2_hits / (l2_hits + l2_misses));
- arc_submit_bytes (l2_read_bytes, l2_write_bytes);
+ za_submit_bytes (l2_read_bytes, l2_write_bytes);
return (0);
}
-static int arc_init (void) /* {{{ */
+static int za_init (void) /* {{{ */
{
ksp = NULL;
/* kstats chain already opened by update_kstat (using *kc), verify everything went fine. */
if (kc == NULL)
{
- ERROR ("arc plugin: kstat chain control structure not available.");
+ ERROR ("zfs_arc plugin: kstat chain control structure not available.");
return (-1);
}
return (0);
-} /* }}} int arc_init */
+} /* }}} int za_init */
void module_register (void)
{
- plugin_register_init ("arc", arc_init);
- plugin_register_read ("arc", arc_read);
+ plugin_register_init ("zfs_arc", za_init);
+ plugin_register_read ("zfs_arc", za_read);
} /* void module_register */
+
+/* vmi: set sw=8 noexpandtab fdm=marker : */