[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAE40pdfpwdeyT6P+SdwfAJ0up7qxqmxn3_GYyh0ybZYevvRxSw@mail.gmail.com>
Date: Wed, 21 Oct 2015 17:44:20 -0700
From: Brendan Gregg <brendan.d.gregg@...il.com>
To: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
Cc: Chandler Carruth <chandlerc@...il.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Borislav Petkov <bp@...e.de>, David Ahern <dsahern@...il.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Stephane Eranian <eranian@...gle.com>,
Wang Nan <wangnan0@...wei.com>
Subject: Re: [PATCH 13/16] perf callchain: Switch default to 'graph,0.5,caller'
On Wed, Oct 21, 2015 at 12:23 PM, Arnaldo Carvalho de Melo
<arnaldo.melo@...il.com> wrote:
> Em Wed, Oct 21, 2015 at 11:28:54AM -0700, Brendan Gregg escreveu:
>> On Tue, Oct 20, 2015 at 7:21 PM, Chandler Carruth <chandlerc@...il.com> wrote:
>> > Since Arnaldo asked, I thought I should actually try to respond specifically
>> > to the question of why I favor the 'caller' view as the default.
>> >
>> > On Tue, Oct 20, 2015 at 3:06 AM Arnaldo Carvalho de Melo
>> > <arnaldo.melo@...il.com> wrote:
>> >>
>> >> > IMHO changing that order is not a good idea. Unless many users
>> >> > complained
>> >> > about it.
>> >>
>> >> Perhaps there are not that many users of callchains because the default
>> >> is not what they're used to see?
>> >>
>> >> Motivation for the change came from a video from Chandler, that
>> >> resurfaced the callchain default issue, Chandler?
>> >
>> >
>> > So, first and foremost, thanks for fixing some of my gripes about the
>> > usability of the perf tool, I'm super excited about the changes you're
>> > making, even if this one isn't among them.
>> >
>> > I think the default of caller vs. callee is probably the hardest judgement
>> > call to make about the right defaults. I can see it going both ways.
>> >
>> > When profiling my *system*, or a diverse group of programs or tasks, I often
>> > find callee useful. Were I a kernel developer, I suspect callee would be
>> > *dramatically* more common than caller.
>> >
>> > For me, what makes the caller view much more frequently desired is that I'm
>> > usually profiling a fairly isolated application, or benchmark for an
>> > isolated library. While I always start off with some more system-level
>> > performance problem, I rarely need a detailed profile to get a reasonable
>> > idea of what subsystem to stare at, and then I spend days looking at a
>> > relatively isolated reproduction.
>> >
>> > Anyways, for profiling user-land applications, I suspect from my
>> > conversations with users that "caller" is the more common expectation.
>> [...]
>>
>> I would have said callee is the more common expectation, certainly for
>> system profilers. I quickly checked various tools to see what their
>> defaults are:
>>
>> callee:
>>
>> gdb
>> lldb
>> pstack
>> jstack
>> perf
>> stap
>> ktap
>> dtrace
>> kernel oops message
>> jvm crash
>> node.js/v8 crash
>>
>> caller:
>>
>> python traceback
>
> sysprof -> http://sysprof.com/screen-shot-4.png
Right, GUIs with tree views do this.
I've thought about it more, and how does the following 3 changes sound?:
1. perf top: change to caller default
- Since it's dumping a tree view, this ordering is intuitive, and this
is the convention from other interactive GUIs that do tree views.
Optionally add a hotkey to change it live. Could also add -G from perf
report (--inverted) to easily call the old behavior.
2. perf report: change to caller default
- I'd like to leave it callee, but as Ingo said, "top" and "report"
should be unified. I can always run -G, or -g, or edit ~/.perfconfig.
3. perf script: leave callee default.
- Since it's dumping a full stack, that's the convention with other
tools that dump full stacks (as I listed), and I think that's useful
ordering anyway when reading a full stack: show me event context
first, followed by history next. "perf script" should have -G and -g
added, to adjust behavior.
I'd also like different UIs from perf report (folded and json), but
that's a different thread. :)
Brendan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists