{
value_t value;
+ /* This function is called for all known CPU states, but each read
+ * method will only report a subset. The remaining states are left as
+ * NAN and we ignore them here. */
+ if (isnan (percent))
+ return;
+
value.gauge = percent;
submit_value (cpu_num, cpu_state, "percent", value);
}
cpu_state_t *tmp;
size_t sz;
- if (cpu_num < 0)
- return (EINVAL);
-
sz = (((size_t) cpu_num) + 1) * CPU_STATE_MAX;
assert (sz > 0);
}
for (i = 0; i < numcpu; i++) {
- cpu_state (i, CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER]);
- cpu_state (i, CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE]);
- cpu_state (i, CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS]);
- cpu_state (i, CPU_STATE_IDLE, (derive_t) cpuinfo[i][CP_IDLE]);
- cpu_state (i, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[i][CP_INTR]);
+ cpu_stage (i, CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER], now);
+ cpu_stage (i, CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE], now);
+ cpu_stage (i, CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS], now);
+ cpu_stage (i, CPU_STATE_IDLE, (derive_t) cpuinfo[i][CP_IDLE], now);
+ cpu_stage (i, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[i][CP_INTR], now);
}
/* }}} #endif CAN_USE_SYSCTL */
}
for (i = 0; i < numcpu; i++) {
- cpu_state (i, CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER]);
- cpu_state (i, CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE]);
- cpu_state (i, CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS]);
- cpu_state (i, CPU_STATE_IDLE, (derive_t) cpuinfo[i][CP_IDLE]);
- cpu_state (i, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[i][CP_INTR]);
+ cpu_stage (i, CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER], now);
+ cpu_stage (i, CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE], now);
+ cpu_stage (i, CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS], now);
+ cpu_stage (i, CPU_STATE_IDLE, (derive_t) cpuinfo[i][CP_IDLE], now);
+ cpu_stage (i, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[i][CP_INTR], now);
}
/* }}} #endif HAVE_SYSCTL_KERN_CP_TIMES */
return (-1);
}
- cpu_state (0, CPU_STATE_USER, (derive_t) cpuinfo[CP_USER]);
- cpu_state (0, CPU_STATE_NICE, (derive_t) cpuinfo[CP_NICE]);
- cpu_state (0, CPU_STATE_SYSTEM, (derive_t) cpuinfo[CP_SYS]);
- cpu_state (0, CPU_STATE_IDLE, (derive_t) cpuinfo[CP_IDLE]);
- cpu_state (0, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[CP_INTR]);
+ cpu_stage (0, CPU_STATE_USER, (derive_t) cpuinfo[CP_USER], now);
+ cpu_stage (0, CPU_STATE_NICE, (derive_t) cpuinfo[CP_NICE], now);
+ cpu_stage (0, CPU_STATE_SYSTEM, (derive_t) cpuinfo[CP_SYS], now);
+ cpu_stage (0, CPU_STATE_IDLE, (derive_t) cpuinfo[CP_IDLE], now);
+ cpu_stage (0, CPU_STATE_INTERRUPT, (derive_t) cpuinfo[CP_INTR], now);
/* }}} #endif HAVE_SYSCTLBYNAME */
#elif defined(HAVE_LIBSTATGRAB) /* {{{ */