* Arnaldo Carvalho de Melo <[email protected]> wrote:
> > 5) --no-children
> >
> > I agree that 'perf top -g --no-children' looks more intuitive than 'perf
> > top -g'.
>
> So, what do you propose, to switch back the default to --no-children, for
> both
> tools, top and report? Now that I am getting used to it... ;-)
Heh ;-) So I'm only thinking out loud, trying to find the most intuitive
initial
screen to display. Expert users can configure their output any which way they
want
it to be, I'm not worried about them.
It's casual and in particular first-time users we should be worried about most
-
if they try the '-g' option in record, what will they first see in 'perf
report'
output?
I think the best output method would be to include only the 'highest level'
parent
symbols, with all children summed up under the parent's entry. Isn't the new
'graph,0.5,caller' default very close to that?
But what confuses me about the output is the same that confused Wangnan's users:
"This is my story: after switching to new version of perf, in a period of
time
there are plenty of perf users in my company be confused by the first column
of
'perf report' because the sum of the percentage listed there is much higher
than
100%. They find me because they think this is a bug in perf which breaks
their
routinely profiling work."
So this is suboptimal.
The first column is 'Children', which should show the sum of all child overhead
-
but if a child overhead was already included under a parent, it should never
show
up under another parent's entry. I.e. the first column should only contain the
highest level entries, no sub-entries.
But what we do currently is:
Children Self Command Shared Object Symbol
- 70.41% 0.00% cc1 cc1 [.] toplev_main
- toplev_main
+ __libc_start_main
- 70.38% 0.00% cc1 libc-2.20.so [.] __libc_start_main
+ __libc_start_main
i.e. even though '__libc_start_main' is a child of 'toplev_main', it's still
included on the 'overview' page.
Is there an output method that can do what I suggest above?
( Having both 'children' and 'self' columns in itself is intuitive IMHO: it
shows
that an entry that is shown does not directly have overhead at that level, a
child call of it has that overhead. )
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/