Re: [PATCH] perf tools: Synthesize GROUP_DESC feature in pipe mode

From: Stephane Eranian
Date: Thu Jul 12 2018 - 12:34:44 EST


Hi Jiri,
On Thu, Jul 12, 2018 at 6:52 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> Stephan reported, that pipe mode does not carry the group
> information and thus the piped report won't display the
> grouped output for following command:
>
Thanks for fixing this quickly.
I think we should have more testing on the pipe mode, in general.

> # perf record -e '{cycles,instructions,branches}' -a sleep 4 | perf report
>
> It has no idea about the group setup, so it will display
> events separately:
>
> # Overhead Command Shared Object ...
> # ........ ............... .......................
> #
> 6.71% swapper [kernel.kallsyms]
> 2.28% offlineimap libpython2.7.so.1.0
> 0.78% perf [kernel.kallsyms]
> ...
>
> Fixing GROUP_DESC feature record to be synthesized in pipe mode,
> so the report output is grouped if there's group defined in record:
>
> # Overhead Command Shared ...
> # ........................ ............... .......
> #
> 7.57% 0.16% 0.30% swapper [kernel
> 1.87% 3.15% 2.46% offlineimap libpyth
> 1.33% 0.00% 0.00% perf [kernel
> ...
>
> Cc: David Carrillo-Cisneros <davidcc@xxxxxxxxxx>
> Reported-by: Stephane Eranian <eranian@xxxxxxxxxx>
> Link: http://lkml.kernel.org/n/tip-ybqyh8ac4g173iy3xt4pxnlo@xxxxxxxxxxxxxx
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/header.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index 59fcc790c865..af9aaf28f976 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -2587,7 +2587,7 @@ static const struct feature_ops feat_ops[HEADER_LAST_FEATURE] = {
> FEAT_OPR(NUMA_TOPOLOGY, numa_topology, true),
> FEAT_OPN(BRANCH_STACK, branch_stack, false),
> FEAT_OPR(PMU_MAPPINGS, pmu_mappings, false),
> - FEAT_OPN(GROUP_DESC, group_desc, false),
> + FEAT_OPR(GROUP_DESC, group_desc, false),
> FEAT_OPN(AUXTRACE, auxtrace, false),
> FEAT_OPN(STAT, stat, false),
> FEAT_OPN(CACHE, cache, true),
> --
> 2.17.1
>