From 3163b713c4dbb0f92be80c57a8c720692e71df7f Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Thu, 11 Jul 2013 19:10:43 +0200 Subject: [PATCH] ifpps: align avg on systems with >8 CPUs When running ifpps on systems with 16, 32 or more CPUs, 'avg:...' field is not being padded with witespaces as the rest of the CPU lines. This patch does that. Signed-off-by: Daniel Borkmann --- ifpps.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ifpps.c b/ifpps.c index 0c042ab4..eb9b8991 100644 --- a/ifpps.c +++ b/ifpps.c @@ -804,6 +804,7 @@ static void screen_percpu_states(WINDOW *screen, const struct ifstat *rel, { int i; int cpus = get_number_cpus(); + int max_padd = padding_from_num(cpus); uint64_t all; if (top_cpus == 0) @@ -825,10 +826,10 @@ static void screen_percpu_states(WINDOW *screen, const struct ifstat *rel, all = avg->cpu_user + avg->cpu_sys + avg->cpu_nice + avg->cpu_idle + avg->cpu_iow; mvwprintw(screen, (*voff)++, 2, - "avg: %14.1lf%% " + "avg:%*s%14.1lf%% " "%9.1lf%% " "%10.1lf%% " - "%11.1lf%%", + "%11.1lf%%", max_padd, "", 100.0 * (avg->cpu_user + avg->cpu_nice) / all, 100.0 * avg->cpu_sys / all, 100.0 * avg->cpu_idle /all, @@ -856,6 +857,7 @@ static void screen_percpu_irqs_rel(WINDOW *screen, const struct ifstat *rel, { int i; int cpus = get_number_cpus(); + int max_padd = padding_from_num(cpus); screen_percpu_irqs_rel_one(screen, rel, voff, cpu_hits[0].idx, "+"); @@ -869,9 +871,9 @@ static void screen_percpu_irqs_rel(WINDOW *screen, const struct ifstat *rel, screen_percpu_irqs_rel_one(screen, rel, voff, cpu_hits[cpus - 1].idx, "-"); mvwprintw(screen, (*voff)++, 2, - "avg: %17.1Lf " + "avg:%*s%17.1Lf " "%17.1Lf " - "%17.1Lf", + "%17.1Lf", max_padd, "", avg->irqs_rel, avg->irqs_srx_rel, avg->irqs_stx_rel); } @@ -891,6 +893,7 @@ static void screen_percpu_irqs_abs(WINDOW *screen, const struct ifstat *abs, { int i; int cpus = get_number_cpus(); + int max_padd = padding_from_num(cpus); screen_percpu_irqs_abs_one(screen, abs, voff, cpu_hits[0].idx, "+"); @@ -904,7 +907,7 @@ static void screen_percpu_irqs_abs(WINDOW *screen, const struct ifstat *abs, screen_percpu_irqs_abs_one(screen, abs, voff, cpu_hits[cpus - 1].idx, "-"); mvwprintw(screen, (*voff)++, 2, - "avg: %17.1Lf", avg->irqs_abs); + "avg:%*s%17.1Lf", max_padd, "", avg->irqs_abs); } static void screen_wireless(WINDOW *screen, const struct ifstat *rel, -- 2.11.4.GIT