memory plugin: Bugfix: values_len is one now, not four.
[collectd.git] / src / memory.c
index e169503..8830ffe 100644 (file)
@@ -102,7 +102,7 @@ static void memory_submit (const char *type_instance, gauge_t value)
        values[0].gauge = value;
 
        vl.values = values;
-       vl.values_len = 4;
+       vl.values_len = 1;
        vl.time = time (NULL);
        strcpy (vl.host, hostname_g);
        strcpy (vl.plugin, "memory");
@@ -216,10 +216,10 @@ static int memory_read (void)
                        sysctl_vals[i] *= sysctl_vals[0];
 
        memory_submit ("free",     sysctl_vals[2]);
-       memory_submit ("wired",    sysctl_vals[2]);
-       memory_submit ("active",   sysctl_vals[2]);
-       memory_submit ("inactive", sysctl_vals[2]);
-       memory_submit ("cache",    sysctl_vals[2]);
+       memory_submit ("wired",    sysctl_vals[3]);
+       memory_submit ("active",   sysctl_vals[4]);
+       memory_submit ("inactive", sysctl_vals[5]);
+       memory_submit ("cache",    sysctl_vals[6]);
 /* #endif HAVE_SYSCTLBYNAME */
 
 #elif defined(KERNEL_LINUX)
@@ -276,10 +276,9 @@ static int memory_read (void)
        {
                mem_used -= mem_free + mem_buffered + mem_cached;
                memory_submit ("used",     mem_used);
-               memory_submit ("buffered", mem_used);
-               memory_submit ("cached",   mem_used);
-               memory_submit ("free",     mem_used);
-
+               memory_submit ("buffered", mem_buffered);
+               memory_submit ("cached",   mem_cached);
+               memory_submit ("free",     mem_free);
        }
 /* #endif defined(KERNEL_LINUX) */