[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171011191859.GH3503@kernel.org>
Date: Wed, 11 Oct 2017 16:18:59 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Jiri Olsa <jolsa@...hat.com>
Cc: Jiri Olsa <jolsa@...nel.org>, lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
David Ahern <dsahern@...il.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Andi Kleen <andi@...stfloor.org>
Subject: Re: [PATCH 00/35] perf annotate: Use generic annotation line
Em Wed, Oct 11, 2017 at 09:10:57PM +0200, Jiri Olsa escreveu:
> On Wed, Oct 11, 2017 at 12:27:09PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Wed, Oct 11, 2017 at 05:01:23PM +0200, Jiri Olsa escreveu:
> > > hi,
> > > I'm working on script profiling support and came up
> >
> > Can you describe what you mean by "script profiling" and "script
> > annotation"?
>
> I have some prototype code that allows to get the
> internal script stack to the sample and display
What is an "internal script stack"? Ah, looking further below you mean
"python scripts", I see!
Please try to state what you want to achieve in a detailed way as you go
writing the patches, that eases reviewing, not requiring us to go
looking at _all_ the patches in a series to then figure out and restart
reviewing patch by patch...
Anyway, great stuff, with that in mind I think I'll restart reviewing
:-)
The first one was obvious, thanks por putting it at the front of the
series, already merged.
Thanks for working on this!
- Arnaldo
> it later on in report:
>
> Samples: 20K of event 'cycles:ppp', Event count (approx.): 10598322780
> Overhead Command Script File Symbol ▒
> 42.29% python3 /usr/lib64/python3.6/site-packages/hawkey/__init__.py [.] union+0xe ◆
> 17.17% python3 /usr/lib64/python3.6/site-packages/hawkey/__init__.py [.] run+0x0 ▒
> 16.80% python3 /usr/lib/python3.6/site-packages/dnf/cli/output.py [.] _skipped_packages+0x1e ▒
> 13.64% python3 N/A [.] 0x00007f9a96e655a2 ▒
> 1.48% python3 N/A [.] 0x00005584196c4844 ▒
> 0.71% python3 <frozen importlib._bootstrap> [.] _call_with_frames_removed+0x0 ▒
> 0.56% python3 <frozen importlib._bootstrap_external> [.] _compile_bytecode+0x0 ▒
> 0.55% python3 /usr/lib64/python3.6/site-packages/hawkey/__init__.py [.] run+0x0 ▒
> 0.23% python3 /usr/lib64/python3.6/sre_parse.py [.] _parse+0x288 ▒
> 0.20% python3 /usr/lib64/python3.6/collections/__init__.py [.] namedtuple+0x174 ▒
> 0.16% python3 N/A [.] 0x00007f9a89e9bc12 ▒
> 0.16% python3 <frozen importlib._bootstrap_external> [.] _path_stat+0x0 ▒
>
>
> and annotate:
>
> Percent│ # parse a simple pattern
> │ 471: subpattern = SubPattern(state) ◆
> │
> │ # precompute constants into local variables
> 2.00 │ 474: subpatternappend = subpattern.append ▒
> │ 475: sourceget = source.get ▒
> 2.00 │ 476: sourcematch = source.match ▒
> │ 477: _len = len ▒
> │ 478: _ord = ord ▒
> │
> │ 480: while True: ▒
> │
> 6.00 │ 482: this = source.next ▒
> 4.00 │ 483: if this is None: ▒
> │ 484: break # end of pattern ▒
> 2.00 │ 485: if this in "|)": ▒
> │ 486: break # end of subpattern ▒
> 10.00 │ 487: sourceget() ▒
> │
> 4.00 │ 489: if verbose: ▒
> │ # skip whitespace and comments
> 4.00 │ 491: if this in WHITESPACE: ▒
> │ 492: continue ▒
> │ 493: if this == "#": ▒
> │ 494: while True: ▒
> 2.00 │ 495: this = sourceget() ▒
> 2.00 │ 64: 496: if this is None or this == "\n": ▒
> │ 497: break ▒
> │ 498: continue ▒
> │
> 6.00 │ 500: if this[0] == "\\": ▒
> 2.00 │ 501: code = _escape(source, this, state) ▒
>
>
> it so far for python.. I plan to post it next week
>
> jirka
Powered by blists - more mailing lists