diff options
author | SaltwaterC <saltwaterc@gmail.com> | 2015-11-16 17:32:22 +0000 |
---|---|---|
committer | SaltwaterC <saltwaterc@gmail.com> | 2015-11-16 17:32:22 +0000 |
commit | 8895f09880f441c2075b703cdec0643ac70790aa (patch) | |
tree | 148b593f03f99111cfe91b0a94fceaf07ed12fc9 /darwin/Platform.c | |
parent | bef00a4fd939619a413fcaa3d745589ef3690ac9 (diff) |
Add Darwin swap meter.
Diffstat (limited to 'darwin/Platform.c')
-rw-r--r-- | darwin/Platform.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/darwin/Platform.c b/darwin/Platform.c index 4a36fe05..73b47c4c 100644 --- a/darwin/Platform.c +++ b/darwin/Platform.c @@ -102,6 +102,7 @@ MeterClass* Platform_meterTypes[] = { &LoadAverageMeter_class, &LoadMeter_class, &MemoryMeter_class, + &SwapMeter_class, &TasksMeter_class, &BatteryMeter_class, &HostnameMeter_class, @@ -226,7 +227,12 @@ void Platform_setMemoryValues(Meter* mtr) { mtr->values[2] = (double)vm->inactive_count * page_K; } -void Platform_setSwapValues(Meter* this) { - (void) this; -} +void Platform_setSwapValues(Meter* mtr) { + int mib[2] = {CTL_VM, VM_SWAPUSAGE}; + struct xsw_usage swapused; + size_t swlen = sizeof(swapused); + sysctl(mib, 2, &swapused, &swlen, NULL, 0); + mtr->total = swapused.xsu_total / 1024; + mtr->values[0] = swapused.xsu_used / 1024; +} |