Re: [RFC] perf script: callchain handling is not useful

Stephane Eranian
2018-08-30T05:00:52Z

On Wed, Aug 29, 2018 at 5:33 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> Hi,
>
> On Wed, Aug 29, 2018 at 08:14:12AM -0700, Stephane Eranian wrote:
> > On Wed, Aug 29, 2018 at 6:54 AM Arnaldo Carvalho de Melo
> > <acme@kernel.org> wrote:
> > >
> > > Em Tue, Aug 28, 2018 at 07:41:31PM -0700, Stephane Eranian escreveu:
> > > > Hi,
> > > >
> > > > I am doing the following simple collection with callchain and load profiling:
> > > >
> > > > $ perf record -g -d -e cpu/event=0xd0,umask=0x81/pp my_test_program
> > > >
> > > > But when I type:
> > > > $ perf script -F ip,addr
> > > > ffff9d4821346878
> > > > ffffffff9d58df25
> > > > ffffffff9d58e054
> > > > ffffffff9d5965bb
> > > > ffffffff9d640650
> > > > ffffffff9d697d06
> > > > ffffffff9d63ec60
> > > > ffffffff9d640322
> > > > ffffffff9d64070c
> > > > ffffffff9d455a60
> > > > 7030c7
> > > >
> > > > ffff9d4638ba84a0
> > > > ffffffff9d5df447
> > > > ffffffff9d5eaf4a
> > > > ffffffff9d63e165
> > > > ffffffff9d63e439
> > > > ffffffff9d697d98
> > > > ffffffff9d63ec60
> > > > ffffffff9d640322
> > > > ffffffff9d64070c
> > > > ffffffff9d455a60
> > > > 7030c7
> > > > I also see the callchain and it is not clear which is the IP. Further
> > > > more parsing becomes more difficult because of multiple lines per
> > > > sample. I understand that multiline is likely because of
> > > > symbolization. But if I don't want symbolization, it should be
> > > > possible to print all in one line.
> > >
> > > Humm, to have this not break possibly existing scripts, perhaps we can
> > > have something like:
> > >
> > > $ perf script -F ip,-callchain,addr
> > >
> > > ?
> > >
> > > And if asked explicitely for the callchain, then it gets added in the
> > > same line?
> > >
> > Yeah, that should do it.
> > Thanks.
>
> I found this:
>
> $ perf script -h |& grep -A1 hide
> -G, --hide-call-graph
> When printing symbols do not display call chain
>
Yes, I had found it too. But my problem is twofold:
- ip should not include the callchain
- callchain should be printed in a single line
That would make things easier to parse.

> Thanks,
> Namhyung