From cc4566ddb39f08c5794f66f4b787b14a6d098cd5 Mon Sep 17 00:00:00 2001 From: yang-padawan <25978390+yang-padawan@users.noreply.github.com> Date: Fri, 11 Sep 2020 14:34:52 +0200 Subject: [PATCH] in_cpu: Normalize per-process CPU stats by number of cores. Signed-off-by: yang-padawan <25978390+yang-padawan@users.noreply.github.com> --- plugins/in_cpu/cpu.c | 13 +++++++------ plugins/in_cpu/cpu.h | 17 ----------------- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/plugins/in_cpu/cpu.c b/plugins/in_cpu/cpu.c index 51d3d6e2c1c..dde9ba7ae45 100644 --- a/plugins/in_cpu/cpu.c +++ b/plugins/in_cpu/cpu.c @@ -333,16 +333,17 @@ struct cpu_snapshot *snapshot_pid_percent(struct cpu_stats *cstats, sum_pre = (snap_pre->v_user + snap_pre->v_system); sum_now = (snap_now->v_user + snap_now->v_system); - snap_now->p_cpu = CPU_METRIC_USAGE(sum_pre, sum_now, ctx); + snap_now->p_cpu = CPU_METRIC_SYS_AVERAGE(sum_pre, sum_now, ctx); /* User space CPU% */ - snap_now->p_user = CPU_METRIC_USAGE(snap_pre->v_user, snap_now->v_user, - ctx); + snap_now->p_user = CPU_METRIC_SYS_AVERAGE(snap_pre->v_user, + snap_now->v_user, + ctx); /* Kernel space CPU% */ - snap_now->p_system = CPU_METRIC_USAGE(snap_pre->v_system, - snap_now->v_system, - ctx); + snap_now->p_system = CPU_METRIC_SYS_AVERAGE(snap_pre->v_system, + snap_now->v_system, + ctx); #ifdef FLB_TRACE flb_trace("cpu[pid=%i] all=%s%f%s user=%s%f%s system=%s%f%s", diff --git a/plugins/in_cpu/cpu.h b/plugins/in_cpu/cpu.h index c057d5571ec..7de145404ca 100644 --- a/plugins/in_cpu/cpu.h +++ b/plugins/in_cpu/cpu.h @@ -131,21 +131,4 @@ static inline double CPU_METRIC_USAGE(unsigned long pre, unsigned long now, return total; } -/* Returns the CPU % utilization of a given CPU core */ -static inline double CPU_METRIC_PID_USAGE(unsigned long pre, unsigned long now, - struct flb_cpu *ctx) -{ - double diff; - double total = 0; - - if (pre == now) { - return 0.0; - } - - diff = ULL_ABS(now, pre); - total = 100.0 * ((diff / ctx->cpu_ticks) / (ctx->interval_sec + 1e-9*ctx->interval_nsec)); - - return total; -} - #endif