From: Florian Forster Date: Wed, 10 Jan 2024 17:27:10 +0000 (+0100) Subject: cpu plugin: Fold `usage_global_rate` into `usage_rate`. X-Git-Tag: 6.0.0-rc0~5^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b04f6af06eb4ad693930f91ef06c0ee83bbf5d75;p=thirdparty%2Fcollectd.git cpu plugin: Fold `usage_global_rate` into `usage_rate`. --- diff --git a/src/cpu.c b/src/cpu.c index 045bb45f3..f25d80b6d 100644 --- a/src/cpu.c +++ b/src/cpu.c @@ -521,25 +521,20 @@ static void usage_reset(usage_t *u) { memset(u, 0, sizeof(*u)); } -static gauge_t usage_global_rate(usage_t *u, state_t state) { - usage_finalize(u); - - return u->global[state].has_rate ? u->global[state].rate : NAN; -} - static gauge_t usage_rate(usage_t *u, size_t cpu, state_t state) { usage_finalize(u); + usage_state_t us; if (cpu == CPU_ALL) { - return usage_global_rate(u, state); - } - - size_t index = (cpu * STATE_MAX) + state; - if (index >= u->states_num) { - return NAN; + us = u->global[state]; + } else { + size_t index = (cpu * STATE_MAX) + state; + if (index >= u->states_num) { + return -1; + } + us = u->states[index]; } - usage_state_t us = u->states[index]; return us.has_rate ? us.rate : NAN; } @@ -547,7 +542,7 @@ static gauge_t usage_ratio(usage_t *u, size_t cpu, state_t state) { usage_finalize(u); gauge_t global_rate = - usage_global_rate(u, STATE_ACTIVE) + usage_global_rate(u, STATE_IDLE); + usage_rate(u, CPU_ALL, STATE_ACTIVE) + usage_rate(u, CPU_ALL, STATE_IDLE); return usage_rate(u, cpu, state) / global_rate; } diff --git a/src/cpu_test.c b/src/cpu_test.c index c3304f1f5..ec4ed1b4f 100644 --- a/src/cpu_test.c +++ b/src/cpu_test.c @@ -216,7 +216,7 @@ DEF_TEST(usage_count) { return ret; } -DEF_TEST(usage_global_rate) { +DEF_TEST(usage_rate_CPU_ALL) { usage_t usage = {0}; cdtime_t t0 = TIME_T_TO_CDTIME_T(100); @@ -230,8 +230,8 @@ DEF_TEST(usage_global_rate) { // Unable to calculate a rate with a single data point. EXPECT_EQ_DOUBLE(NAN, usage_rate(&usage, 0, STATE_USER)); EXPECT_EQ_DOUBLE(NAN, usage_rate(&usage, 1, STATE_USER)); - EXPECT_EQ_DOUBLE(NAN, usage_global_rate(&usage, STATE_USER)); - EXPECT_EQ_DOUBLE(NAN, usage_global_rate(&usage, STATE_ACTIVE)); + EXPECT_EQ_DOUBLE(NAN, usage_rate(&usage, CPU_ALL, STATE_USER)); + EXPECT_EQ_DOUBLE(NAN, usage_rate(&usage, CPU_ALL, STATE_ACTIVE)); cdtime_t t1 = t0 + TIME_T_TO_CDTIME_T(10); derive_t cpu0_t1 = cpu0_t0 + 300; @@ -247,8 +247,8 @@ DEF_TEST(usage_global_rate) { EXPECT_EQ_DOUBLE(want_cpu0_rate, usage_rate(&usage, 0, STATE_USER)); EXPECT_EQ_DOUBLE(want_cpu1_rate, usage_rate(&usage, 1, STATE_USER)); - EXPECT_EQ_DOUBLE(want_global_rate, usage_global_rate(&usage, STATE_USER)); - EXPECT_EQ_DOUBLE(want_global_rate, usage_global_rate(&usage, STATE_ACTIVE)); + EXPECT_EQ_DOUBLE(want_global_rate, usage_rate(&usage, CPU_ALL, STATE_USER)); + EXPECT_EQ_DOUBLE(want_global_rate, usage_rate(&usage, CPU_ALL, STATE_ACTIVE)); usage_reset(&usage); return 0; @@ -258,7 +258,7 @@ int main(void) { RUN_TEST(usage_rate); RUN_TEST(usage_ratio); RUN_TEST(usage_count); - RUN_TEST(usage_global_rate); + RUN_TEST(usage_rate_CPU_ALL); END_TEST; }