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

From: Jiri Olsa
Date: Thu Jul 12 2018 - 12:49:48 EST


On Thu, Jul 12, 2018 at 09:34:45AM -0700, Stephane Eranian wrote:
> 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.

could I have your tested/acked by?

> I think we should have more testing on the pipe mode, in general.

yea, we should

jirka

>
> > # 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
> >