public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Feng Tang <feng.tang@intel.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: <mingo@elte.hu>, <a.p.zijlstra@chello.nl>, <andi@firstfloor.org>,
	<namhyung@kernel.org>, <dsahern@gmail.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 6/7] perf ui/browser: Integrate script browser into annotation browser
Date: Tue, 18 Sep 2012 15:40:10 +0800	[thread overview]
Message-ID: <20120918154010.451e5891@feng-i7> (raw)
In-Reply-To: <20120917152301.GB16820@infradead.org>

Hi Arnaldo,

Thanks for the reviews!

On Mon, 17 Sep 2012 12:23:01 -0300
Arnaldo Carvalho de Melo <acme@redhat.com> wrote:

> Em Fri, Sep 07, 2012 at 04:42:28PM +0800, Feng Tang escreveu:
> > Integrate the script browser into annotation, users can press function
> > key 'r' to list all perf scripts and select one of them to run that
> > script, the output will be shown in a separate browser.
> 
> I think this needs a bit more work... i.e. I tried it with your script,
> event_analyzing_sample and I kinda get meaningful output when pressing
> 'r' + that script from the top and hists browser.

I would answer you question about "elllaborate on the assumptions" first
here, that the main purpose of this script browser is not to replace the
normal "perf script" command, but to:
1. Provide a convenient way for user to directly run scripts while they
are browsing through the hists or annotation browser, and provide some
option for run script with samples from specific thread or symbol
2. Prepare for some advance feature, like inside the annotation browser,
analyze some specific hot line of code with samples containing precise
information, like the register values, store/load latency stuff. But I
have no idea how to implement it now, I guess after Stefan work out the
general perf latency tool, we may be able to revisit it.   

And when I started to code, I assumed user will mainly use this feature
for running scripts for general samples other than the existing scripts
for tracepoints. And yes, some user cases you mentioned are not covered.

> 
> But with other scripts, and you filtered the -top suffixed ones, that
> require special handling, I get things like "Press Control+C to get a
> summary", and when I press that, the browser exits, going back to
> annotate or report/top browser.

That's right, 4 current perf python scripts will print that line in its
"trace_begin" function, as some of the scripts may run for quiet some
time if the perf.data is huge. And what you see in the script browser 
is just some static text of the script output. 

> 
> I.e. this only works if we are processing a perf.data file made
> specially for that specific script, right? I.e. the record phase is not
> integrated at all, just running specific scripts in specific perf.data
> files.

No, the record phase is not added, it just handle the recorded data. And
there is something missed in current implementation, that the script in
browser mode is only run for the "perf.data" even if the perf report/annotate
is run for data with another name.

> 
> How to allow the user to chose appropriate scripts to run each perf.data
> file is an aspect of usability that is missing...

Do we need to run script for another perf.data when we run report/annotation
for one perf.data? or should we add a option for script browser to make it
work in browser mode, this is something Numhyung has mentioned in his review

Thanks,
Feng

> 
> Can you ellaborate on the assumptions you made while working on this, do
> they match what I described above as how to use this scripts browser?
> 
> So I merged part of this patchset, but will wait till more discussion
> happens on the browsing part,
> 
> Thanks,
> 
> - Arnaldo

  reply	other threads:[~2012-09-18  7:46 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-07  8:42 [PATCH v2 0/7] perf ui/browser: Add browser for perf script Feng Tang
2012-09-07  8:42 ` [PATCH v2 1/7] perf symbols: Filter samples with unresolved symbol when "--symbols" option is used Feng Tang
2012-09-19 15:21   ` [tip:perf/core] " tip-bot for Feng Tang
2012-09-07  8:42 ` [PATCH v2 2/7] perf scripts: Add --symbols option to handle specific symbols Feng Tang
2012-09-19 15:22   ` [tip:perf/core] " tip-bot for Feng Tang
2012-09-07  8:42 ` [PATCH v2 3/7] perf scripts: Add event_analyzing_sample-record/report Feng Tang
2012-09-19 15:23   ` [tip:perf/core] perf scripts: Add event_analyzing_sample-record/ report tip-bot for Feng Tang
2012-09-07  8:42 ` [PATCH v2 4/7] perf scripts: Export a find_scripts() function Feng Tang
2012-09-19 15:24   ` [tip:perf/core] " tip-bot for Feng Tang
2012-09-07  8:42 ` [PATCH v2 5/7] perf ui/browser: Add a browser for perf script Feng Tang
2012-09-07  8:42 ` [PATCH v2 6/7] perf ui/browser: Integrate script browser into annotation browser Feng Tang
2012-09-17 15:23   ` Arnaldo Carvalho de Melo
2012-09-18  7:40     ` Feng Tang [this message]
2012-09-18 11:30       ` Arnaldo Carvalho de Melo
2012-09-18 15:56         ` Feng Tang
2012-09-07  8:42 ` [PATCH v2 7/7] perf ui/browser: Integrate script browser into main hists browser Feng Tang
2012-09-10  1:35 ` [PATCH v2 0/7] perf ui/browser: Add browser for perf script Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120918154010.451e5891@feng-i7 \
    --to=feng.tang@intel.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox