workaround freebsd lack of per-cpu metrics

This commit is contained in:
Doug MacEachern 2006-01-02 18:45:49 +00:00
parent e2aeb5aac0
commit 3d4267a6a7
1 changed files with 18 additions and 2 deletions

View File

@ -521,14 +521,30 @@ int sigar_cpu_list_get(sigar_t *sigar, sigar_cpu_list_t *cpulist)
return SIGAR_OK; return SIGAR_OK;
#else #else
int status, i;
sigar_cpu_t *cpu; sigar_cpu_t *cpu;
sigar_cpu_list_create(cpulist); sigar_cpu_list_create(cpulist);
/* XXX multi cpu */ /* XXX howto multi cpu in freebsd?
* for now just report all metrics on the 1st cpu
* 0's for the rest
*/
cpu = &cpulist->data[cpulist->number++]; cpu = &cpulist->data[cpulist->number++];
return sigar_cpu_get(sigar, cpu); status = sigar_cpu_get(sigar, cpu);
if (status != SIGAR_OK) {
return status;
}
for (i=1; i<sigar->ncpu; i++) {
SIGAR_CPU_LIST_GROW(cpulist);
cpu = &cpulist->data[cpulist->number++];
SIGAR_ZERO(cpu);
}
return SIGAR_OK;
#endif #endif
} }