memory plugin: Bugfix: values_len is one now, not four.
[collectd.git] / src / memory.c
index 9f954a4..8830ffe 100644 (file)
 # define MEMORY_HAVE_READ 0
 #endif
 
-/* 2^48 = 281474976710656 */
-static data_source_t dsrc[4] =
-{
-       {"value",  DS_TYPE_GAUGE, 0, 281474976710656.0}
-};
-
-static data_set_t ds =
-{
-       "memory", 1, dsrc
-};
-
 /* vm_statistics_data_t */
 #if defined(HOST_VM_INFO)
 static mach_port_t port_host;
@@ -113,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");
@@ -227,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)
@@ -287,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) */
 
@@ -336,16 +324,10 @@ static int memory_read (void)
 }
 #endif /* MEMORY_HAVE_READ */
 
-void module_register (modreg_e load)
+void module_register (void)
 {
-       if (load & MR_DATASETS)
-               plugin_register_data_set (&ds);
-
 #if MEMORY_HAVE_READ
-       if (load & MR_READ)
-       {
-               plugin_register_init ("memory", memory_init);
-               plugin_register_read ("memory", memory_read);
-       }
+       plugin_register_init ("memory", memory_init);
+       plugin_register_read ("memory", memory_read);
 #endif /* MEMORY_HAVE_READ */
 } /* void module_register */