Re: [PATCH] perf stat: Align the output for interval aggregation mode

From: Jiri Olsa
Date: Thu Feb 20 2020 - 05:54:09 EST


On Tue, Feb 18, 2020 at 03:16:14PM +0800, Jin Yao wrote:
> There is a slight misalignment in -A -I output.
>
> For example,
>
> perf stat -e cpu/event=cpu-cycles/ -a -A -I 1000
>
> # time CPU counts unit events
> 1.000440863 CPU0 1,068,388 cpu/event=cpu-cycles/
> 1.000440863 CPU1 875,954 cpu/event=cpu-cycles/
> 1.000440863 CPU2 3,072,538 cpu/event=cpu-cycles/
> 1.000440863 CPU3 4,026,870 cpu/event=cpu-cycles/
> 1.000440863 CPU4 5,919,630 cpu/event=cpu-cycles/
> 1.000440863 CPU5 2,714,260 cpu/event=cpu-cycles/
> 1.000440863 CPU6 2,219,240 cpu/event=cpu-cycles/
> 1.000440863 CPU7 1,299,232 cpu/event=cpu-cycles/
>
> The value of counts is not aligned with the column "counts" and
> the event name is not aligned with the column "events".
>
> With this patch, the output is,
>
> perf stat -e cpu/event=cpu-cycles/ -a -A -I 1000
>
> # time CPU counts unit events
> 1.000423009 CPU0 997,421 cpu/event=cpu-cycles/
> 1.000423009 CPU1 1,422,042 cpu/event=cpu-cycles/
> 1.000423009 CPU2 484,651 cpu/event=cpu-cycles/
> 1.000423009 CPU3 525,791 cpu/event=cpu-cycles/
> 1.000423009 CPU4 1,370,100 cpu/event=cpu-cycles/
> 1.000423009 CPU5 442,072 cpu/event=cpu-cycles/
> 1.000423009 CPU6 205,643 cpu/event=cpu-cycles/
> 1.000423009 CPU7 1,302,250 cpu/event=cpu-cycles/
>
> Now output is aligned.
>
> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> tools/perf/util/stat-display.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
> index bc31fccc0057..95b29c9cba36 100644
> --- a/tools/perf/util/stat-display.c
> +++ b/tools/perf/util/stat-display.c
> @@ -114,11 +114,11 @@ static void aggr_printout(struct perf_stat_config *config,
> fprintf(config->output, "S%d-D%d-C%*d%s",
> cpu_map__id_to_socket(id),
> cpu_map__id_to_die(id),
> - config->csv_output ? 0 : -5,
> + config->csv_output ? 0 : -3,
> cpu_map__id_to_cpu(id), config->csv_sep);
> } else {
> - fprintf(config->output, "CPU%*d%s ",
> - config->csv_output ? 0 : -5,
> + fprintf(config->output, "CPU%*d%s",
> + config->csv_output ? 0 : -7,
> evsel__cpus(evsel)->map[id],
> config->csv_sep);
> }
> --
> 2.17.1
>