- memory_submit ("free", 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]);
+ if (values_absolute)
+ {
+ memory_submit ("free", 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]);
+ }
+ if (values_percentage)
+ {
+ double total = sysctl_vals[2] + sysctl_vals[3] + sysctl_vals[4] + sysctl_vals[5] + sysctl_vals[6];
+ memory_submit ("percent_free", (gauge_t) ((float_t) sysctl_vals[2]) / total * 100);
+ memory_submit ("percent_wired", (gauge_t) ((float_t) sysctl_vals[3]) / total * 100);
+ memory_submit ("percent_active", (gauge_t) ((float_t) sysctl_vals[4]) / total * 100);
+ memory_submit ("percent_inactive", (gauge_t) ((float_t) sysctl_vals[5]) / total * 100);
+ memory_submit ("percent_cache", (gauge_t) ((float_t) sysctl_vals[6]) / total * 100);
+ }