Code

swap plugin: Make "cached" optional under Linux.
authorFlorian Forster <octo@collectd.org>
Wed, 17 Sep 2014 05:41:38 +0000 (07:41 +0200)
committerFlorian Forster <octo@collectd.org>
Wed, 17 Sep 2014 05:41:38 +0000 (07:41 +0200)
This is the smallest possible fix for OpenVZ, where cached is not available.
master has a more complete fix which should be used going forward.

Fixes: #733
src/swap.c

index 46d3534fcae818cd6fc286cd448d824ad22ccad8..1621f7af677a2a83ee866ee752cece72fcea3c60 100644 (file)
@@ -339,7 +339,7 @@ static int swap_read_combined (void) /* {{{ */
 
        fclose (fh);
 
-       if (have_data != 0x07)
+       if ((have_data & 0x03) != 0x03)
                return (ENOENT);
 
        if (isnan (swap_total)
@@ -351,7 +351,8 @@ static int swap_read_combined (void) /* {{{ */
 
        swap_submit_gauge (NULL, "used",   1024.0 * swap_used);
        swap_submit_gauge (NULL, "free",   1024.0 * swap_free);
-       swap_submit_gauge (NULL, "cached", 1024.0 * swap_cached);
+       if (have_data & 0x04)
+               swap_submit_gauge (NULL, "cached", 1024.0 * swap_cached);
 
        return (0);
 } /* }}} int swap_read_combined */