From: Tony Jones <tonyj@suse.de>
To: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>,
peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
alexander.shishkin@linux.intel.com, jolsa@redhat.com,
namhyung@kernel.org, linux-kernel@vger.kernel.org,
Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Subject: Re: [PATCH v2] perf scripts python: Add Python 3 support to stackcollapse.py
Date: Fri, 18 Jan 2019 17:46:26 -0800 [thread overview]
Message-ID: <d4ae7a39-6c2b-4055-8a68-cd27f81ee3f3@suse.de> (raw)
In-Reply-To: <1547718344-27382-13-git-send-email-s1seetee@linux.vnet.ibm.com>
On 1/17/19 1:45 AM, Seeteena Thoufeek wrote:
> Support both Python 2 and Python 3 in stackcollapse.py. ``print`` is now a
> function rather than a statement. This should have no functional change.
>
> Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
> Reviewed-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
> ---
> tools/perf/scripts/python/stackcollapse.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/scripts/python/stackcollapse.py b/tools/perf/scripts/python/stackcollapse.py
> index 1697b5e..f77bc0d 100755
> --- a/tools/perf/scripts/python/stackcollapse.py
> +++ b/tools/perf/scripts/python/stackcollapse.py
> @@ -18,6 +18,7 @@
> #
> # Written by Paolo Bonzini <pbonzini@redhat.com>
> # Based on Brendan Gregg's stackcollapse-perf.pl script.
> +from __future__ import print_function
Again, not necessary.
> import os
> import sys
> @@ -123,4 +124,4 @@ def trace_end():
> list = lines.keys()
> list.sort()
> for stack in list:
> - print "%s %d" % (stack, lines[stack])
> + print("%s %d" % (stack, lines[stack]))
>
Did you test any of these changes with Python3?
If you run 'ldd /usr/bin/perf | grep python' when you've built with PYTHON=python3, what do you see?
$ ldd /usr/bin/perf | grep python
libpython3.6m.so.1.0 => /usr/lib64/libpython3.6m.so.1.0 (0x00007fea66701000)
If you do, you'll run into this error:
$ /usr/bin/perf script -s scripts/python/stackcollapse.py -i /tmp/perf.data
Traceback (most recent call last):
File "scripts/python/stackcollapse.py", line 124, in trace_end
list.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
Fatal Python error: problem in Python trace event handler
You need the following change in addition:
--- a/tools/perf/scripts/python/stackcollapse.py
+++ b/tools/perf/scripts/python/stackcollapse.py
@@ -120,7 +120,6 @@ def process_event(param_dict):
lines[stack_string] = lines[stack_string] + 1
def trace_end():
- list = lines.keys()
- list.sort()
+ list = sorted(lines)
for stack in list:
- print "%s %d" % (stack, lines[stack])
+ print ("%s %d" % (stack, lines[stack]))
As I said in a different post, I'd not yet posted my series as I was still trying to fix the failure of the "import perf" testcase (aka tools/perf/python) and (apologies) I'd missed your V1 but maybe I should post them as they've been thoroughly integrated into perf and tested with python2 and python3.
The full patchset is in SLE15-SP1 beta2 which I know IBM has access to. A backport is also in Factory.
Tony
next prev parent reply other threads:[~2019-01-19 1:46 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-17 9:45 [PATCH v2] perf scripts python: Add Python 3 support to check-perf-trace.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to event_analyzing_sample.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to exported-sql-viewer.py Seeteena Thoufeek
2019-01-19 0:45 ` Tony Jones
2019-01-20 19:27 ` Jonathan Corbet
2019-01-20 20:50 ` Tony Jones
2019-01-21 10:45 ` seeteena
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to export-to-sqlite.py Seeteena Thoufeek
2019-01-19 1:05 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to failed-syscalls-by-pid.py Seeteena Thoufeek
2019-01-19 1:12 ` Tony Jones
2019-01-19 2:37 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to futex-contention.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to intel-pt-events.py Seeteena Thoufeek
2019-01-19 1:16 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to mem-phys-addr.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to netdev-times.py Seeteena Thoufeek
2019-01-19 1:21 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to net_dropmonitor.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to powerpc-hcalls.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to sctop.py Seeteena Thoufeek
2019-01-19 1:27 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to stackcollapse.py Seeteena Thoufeek
2019-01-19 1:46 ` Tony Jones [this message]
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to stat-cpi.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to syscall-counts-by-pid.py Seeteena Thoufeek
2019-01-19 0:53 ` Tony Jones
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to syscall-counts.py Seeteena Thoufeek
2019-01-17 9:45 ` [PATCH v2] perf scripts python: Add Python 3 support to export-to-postgresql.py Seeteena Thoufeek
2019-01-17 12:32 ` [PATCH v2] perf scripts python: Add Python 3 support to check-perf-trace.py Jiri Olsa
2019-01-17 13:23 ` Ravi Bangoria
2019-01-19 0:29 ` Tony Jones
2019-01-19 2:05 ` Tony Jones
2019-01-19 0:59 ` Tony Jones
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=d4ae7a39-6c2b-4055-8a68-cd27f81ee3f3@suse.de \
--to=tonyj@suse.de \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@linux.ibm.com \
--cc=s1seetee@linux.vnet.ibm.com \
/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;
as well as URLs for NNTP newsgroup(s).