mirror of https://github.com/xzeldon/htop.git
Load averages for FreeBSD!
This commit is contained in:
parent
96e03739c4
commit
6d92d7f73d
|
@ -20,6 +20,8 @@ in the source distribution for its full text.
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <vm/vm_param.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
/*{
|
/*{
|
||||||
|
@ -64,3 +66,20 @@ int Platform_getUptime() {
|
||||||
|
|
||||||
return (int) difftime(currTime.tv_sec, bootTime.tv_sec);
|
return (int) difftime(currTime.tv_sec, bootTime.tv_sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Platform_getLoadAverage(double* one, double* five, double* fifteen) {
|
||||||
|
struct loadavg loadAverage;
|
||||||
|
int mib[2] = { CTL_VM, VM_LOADAVG };
|
||||||
|
size_t size = sizeof(loadAverage);
|
||||||
|
|
||||||
|
int err = sysctl(mib, 2, &loadAverage, &size, NULL, 0);
|
||||||
|
if (err) {
|
||||||
|
*one = 0;
|
||||||
|
*five = 0;
|
||||||
|
*fifteen = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*one = (double) loadAverage.ldavg[0] / loadAverage.fscale;
|
||||||
|
*five = (double) loadAverage.ldavg[1] / loadAverage.fscale;
|
||||||
|
*fifteen = (double) loadAverage.ldavg[2] / loadAverage.fscale;
|
||||||
|
}
|
||||||
|
|
|
@ -17,4 +17,6 @@ extern MeterClass* Platform_meterTypes[];
|
||||||
|
|
||||||
int Platform_getUptime();
|
int Platform_getUptime();
|
||||||
|
|
||||||
|
void Platform_getLoadAverage(double* one, double* five, double* fifteen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17,4 +17,6 @@ extern MeterClass* Platform_meterTypes[];
|
||||||
|
|
||||||
int Platform_getUptime();
|
int Platform_getUptime();
|
||||||
|
|
||||||
|
void Platform_getLoadAverage(double* one, double* five, double* fifteen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue