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

Stephane Eranian
2018-08-29T15:13:09Z

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.

> - Arnaldo
>
>
> > The current output is not very useful. You expect perf script to give
> > you one line per sample and only what you want. Callchain != IP.
> >
> > I think the following should happen:
> > - do not print callchain when asked for the IP. Create a callchain filter.
> > - print callchain on the same line, much like what is done for brstack
> >
> > It is not clear to me why callchain and ip were lumped together.
> > Any opinion on my proposal?
> > Thanks.