[RFC] perf script: callchain handling is not useful

From: Stephane Eranian
Date: Tue Aug 28 2018 - 22:41:49 EST


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.

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.