X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcpu.c;h=80029667af80d39950fe06f1d0482455f70ff92c;hb=448627953cde2f7b3b138f53f4f2c62f0d48b726;hp=c9462506dca025a633ccf3f591de8c23f2671c1a;hpb=2c7b491427fd84c9e24c9d41686a15ce42219a0b;p=collectd.git diff --git a/src/cpu.c b/src/cpu.c index c9462506..80029667 100644 --- a/src/cpu.c +++ b/src/cpu.c @@ -28,6 +28,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" @@ -405,19 +406,16 @@ static cpu_state_t *get_cpu_state (size_t cpu_num, size_t state) /* {{{ */ * array. */ static void aggregate (gauge_t *sum_by_state) /* {{{ */ { - size_t cpu_num; - size_t state; - - for (state = 0; state < COLLECTD_CPU_STATE_MAX; state++) + for (size_t state = 0; state < COLLECTD_CPU_STATE_MAX; state++) sum_by_state[state] = NAN; - for (cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) + for (size_t cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) { cpu_state_t *this_cpu_states = get_cpu_state (cpu_num, 0); this_cpu_states[COLLECTD_CPU_STATE_ACTIVE].rate = NAN; - for (state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) + for (size_t state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) { if (!this_cpu_states[state].has_value) continue; @@ -442,7 +440,6 @@ static void aggregate (gauge_t *sum_by_state) /* {{{ */ static void cpu_commit_one (int cpu_num, /* {{{ */ gauge_t rates[static COLLECTD_CPU_STATE_MAX]) { - size_t state; gauge_t sum; sum = rates[COLLECTD_CPU_STATE_ACTIVE]; @@ -455,7 +452,7 @@ static void cpu_commit_one (int cpu_num, /* {{{ */ return; } - for (state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) + for (size_t state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) { gauge_t percent = 100.0 * rates[state] / sum; submit_percent (cpu_num, state, percent); @@ -466,9 +463,7 @@ static void cpu_commit_one (int cpu_num, /* {{{ */ * each iteration / after each call to cpu_commit(). */ static void cpu_reset (void) /* {{{ */ { - size_t i; - - for (i = 0; i < cpu_states_num; i++) + for (size_t i = 0; i < cpu_states_num; i++) cpu_states[i].has_value = 0; global_cpu_num = 0; @@ -477,13 +472,9 @@ static void cpu_reset (void) /* {{{ */ /* Legacy behavior: Dispatches the raw derive values without any aggregation. */ static void cpu_commit_without_aggregation (void) /* {{{ */ { - int state; - - for (state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) + for (int state = 0; state < COLLECTD_CPU_STATE_ACTIVE; state++) { - size_t cpu_num; - - for (cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) + for (size_t cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) { cpu_state_t *s = get_cpu_state (cpu_num, state); @@ -501,7 +492,6 @@ static void cpu_commit (void) /* {{{ */ gauge_t global_rates[COLLECTD_CPU_STATE_MAX] = { NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN /* Batman! */ }; - size_t cpu_num; if (report_by_state && report_by_cpu && !report_percent) { @@ -517,15 +507,14 @@ static void cpu_commit (void) /* {{{ */ return; } - for (cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) + for (size_t cpu_num = 0; cpu_num < global_cpu_num; cpu_num++) { cpu_state_t *this_cpu_states = get_cpu_state (cpu_num, 0); gauge_t local_rates[COLLECTD_CPU_STATE_MAX] = { NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN }; - size_t state; - for (state = 0; state < COLLECTD_CPU_STATE_MAX; state++) + for (size_t state = 0; state < COLLECTD_CPU_STATE_MAX; state++) if (this_cpu_states[state].has_value) local_rates[state] = this_cpu_states[state].rate; @@ -536,11 +525,12 @@ static void cpu_commit (void) /* {{{ */ /* Adds a derive value to the internal state. This should be used by each read * function for each state. At the end of the iteration, the read function * should call cpu_commit(). */ -static int cpu_stage (size_t cpu_num, size_t state, derive_t value, cdtime_t now) /* {{{ */ +static int cpu_stage (size_t cpu_num, size_t state, derive_t d, cdtime_t now) /* {{{ */ { int status; cpu_state_t *s; - value_t v; + gauge_t rate = NAN; + value_t val = {.derive = d}; if (state >= COLLECTD_CPU_STATE_ACTIVE) return (EINVAL); @@ -554,12 +544,11 @@ static int cpu_stage (size_t cpu_num, size_t state, derive_t value, cdtime_t now s = get_cpu_state (cpu_num, state); - v.gauge = NAN; - status = value_to_rate (&v, value, &s->conv, DS_TYPE_DERIVE, now); + status = value_to_rate (&rate, val, DS_TYPE_DERIVE, now, &s->conv); if (status != 0) return (status); - s->rate = v.gauge; + s->rate = rate; s->has_value = 1; return (0); } /* }}} int cpu_stage */ @@ -569,8 +558,6 @@ static int cpu_read (void) cdtime_t now = cdtime (); #if PROCESSOR_CPU_LOAD_INFO /* {{{ */ - int cpu; - kern_return_t status; processor_cpu_load_info_data_t cpu_info; @@ -578,7 +565,7 @@ static int cpu_read (void) host_t cpu_host; - for (cpu = 0; cpu < cpu_list_len; cpu++) + for (int cpu = 0; cpu < cpu_list_len; cpu++) { cpu_host = 0; cpu_info_len = PROCESSOR_BASIC_INFO_COUNT; @@ -653,13 +640,12 @@ static int cpu_read (void) /* }}} #endif defined(KERNEL_LINUX) */ #elif defined(HAVE_LIBKSTAT) /* {{{ */ - int cpu; static cpu_stat_t cs; if (kc == NULL) return (-1); - for (cpu = 0; cpu < numcpu; cpu++) + for (int cpu = 0; cpu < numcpu; cpu++) { if (kstat_read (kc, ksp[cpu], &cs) == -1) continue; /* error message? */ @@ -675,7 +661,6 @@ static int cpu_read (void) uint64_t cpuinfo[numcpu][CPUSTATES]; size_t cpuinfo_size; int status; - int i; if (numcpu < 1) { @@ -688,7 +673,7 @@ static int cpu_read (void) #if defined(KERN_CPTIME2) if (numcpu > 1) { - for (i = 0; i < numcpu; i++) { + for (int i = 0; i < numcpu; i++) { int mib[] = {CTL_KERN, KERN_CPTIME2, i}; cpuinfo_size = sizeof (cpuinfo[0]); @@ -721,12 +706,12 @@ static int cpu_read (void) return (-1); } - for(i = 0; i < CPUSTATES; i++) { + for(int i = 0; i < CPUSTATES; i++) { cpuinfo[0][i] = cpuinfo_tmp[i]; } } - for (i = 0; i < numcpu; i++) { + for (int i = 0; i < numcpu; i++) { cpu_stage (i, COLLECTD_CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER], now); cpu_stage (i, COLLECTD_CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE], now); cpu_stage (i, COLLECTD_CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS], now); @@ -738,7 +723,6 @@ static int cpu_read (void) #elif defined(HAVE_SYSCTLBYNAME) && defined(HAVE_SYSCTL_KERN_CP_TIMES) /* {{{ */ long cpuinfo[maxcpu][CPUSTATES]; size_t cpuinfo_size; - int i; memset (cpuinfo, 0, sizeof (cpuinfo)); @@ -751,7 +735,7 @@ static int cpu_read (void) return (-1); } - for (i = 0; i < numcpu; i++) { + for (int i = 0; i < numcpu; i++) { cpu_stage (i, COLLECTD_CPU_STATE_USER, (derive_t) cpuinfo[i][CP_USER], now); cpu_stage (i, COLLECTD_CPU_STATE_NICE, (derive_t) cpuinfo[i][CP_NICE], now); cpu_stage (i, COLLECTD_CPU_STATE_SYSTEM, (derive_t) cpuinfo[i][CP_SYS], now); @@ -801,7 +785,7 @@ static int cpu_read (void) #elif defined(HAVE_PERFSTAT) /* {{{ */ perfstat_id_t id; - int i, cpus; + int cpus; numcpu = perfstat_cpu(NULL, NULL, sizeof(perfstat_cpu_t), 0); if(numcpu == -1) @@ -814,8 +798,7 @@ static int cpu_read (void) if (pnumcpu != numcpu || perfcpu == NULL) { - if (perfcpu != NULL) - free(perfcpu); + free(perfcpu); perfcpu = malloc(numcpu * sizeof(perfstat_cpu_t)); } pnumcpu = numcpu; @@ -829,7 +812,7 @@ static int cpu_read (void) return (-1); } - for (i = 0; i < cpus; i++) + for (int i = 0; i < cpus; i++) { cpu_stage (i, COLLECTD_CPU_STATE_IDLE, (derive_t) perfcpu[i].idle, now); cpu_stage (i, COLLECTD_CPU_STATE_SYSTEM, (derive_t) perfcpu[i].sys, now);