X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fzfs_arc.c;h=3a54ad8d57d92c97a6ef9b2050c8b68e02fef682;hb=51612a1b2f96f6e360f874f6da0b20eac94f48b3;hp=2edba6d1b68d4abc803b06145d6b2f5376503eca;hpb=0e6248ffcaea42b5ea501035f92bedfaf983cad9;p=collectd.git diff --git a/src/zfs_arc.c b/src/zfs_arc.c index 2edba6d1..3a54ad8d 100644 --- a/src/zfs_arc.c +++ b/src/zfs_arc.c @@ -99,7 +99,7 @@ static int za_read_derive (kstat_t *ksp, const char *kstat_value, tmp = get_zfs_value (ksp, (char *)kstat_value); if (tmp == -1LL) { - ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); + WARNING ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); return (-1); } @@ -117,7 +117,7 @@ static int za_read_gauge (kstat_t *ksp, const char *kstat_value, tmp = get_zfs_value (ksp, (char *)kstat_value); if (tmp == -1LL) { - ERROR ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); + WARNING ("zfs_arc plugin: Reading kstat value \"%s\" failed.", kstat_value); return (-1); } @@ -158,12 +158,21 @@ static int za_read (void) /* Sizes */ za_read_gauge (ksp, "size", "cache_size", "arc"); - za_read_gauge (ksp, "l2_size", "cache_size", "L2"); + + /* The "l2_size" value has disappeared from Solaris some time in + * early 2013, and has only reappeared recently in Solaris 11.2. + * Stop trying if we ever fail to read it, so we don't spam the log. + */ + static int l2_size_avail = 1; + if (l2_size_avail && za_read_gauge (ksp, "l2_size", "cache_size", "L2") != 0) + l2_size_avail = 0; /* Operations */ - za_read_derive (ksp, "allocated","cache_operation", "allocated"); za_read_derive (ksp, "deleted", "cache_operation", "deleted"); +#if __FreeBSD__ + za_read_derive (ksp, "allocated","cache_operation", "allocated"); za_read_derive (ksp, "stolen", "cache_operation", "stolen"); +#endif /* Issue indicators */ za_read_derive (ksp, "mutex_miss", "mutex_operations", "miss");