70 lines
2.3 KiB
Diff
70 lines
2.3 KiB
Diff
From: Tony Jones <tonyj@suse.de>
|
|
Date: Fri, 22 Feb 2019 15:06:14 -0800
|
|
Subject: perf script python: Add Python3 support to sctop.py
|
|
Origin: https://git.kernel.org/linus/ee75a896ae535d4219a82cc361be96394536f3ba
|
|
Bug-Debian: https://bugs.debian.org/944641
|
|
|
|
Support both Python2 and Python3 in the sctop.py script
|
|
|
|
There may be differences in the ordering of output lines due to
|
|
differences in dictionary ordering etc. However the format within lines
|
|
should be unchanged.
|
|
|
|
The use of 'from __future__' implies the minimum supported Python2 version
|
|
is now v2.6
|
|
|
|
Signed-off-by: Tony Jones <tonyj@suse.de>
|
|
Cc: Tom Zanussi <tzanussi@gmail.com>
|
|
Link: http://lkml.kernel.org/r/20190222230619.17887-11-tonyj@suse.de
|
|
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
---
|
|
tools/perf/scripts/python/sctop.py | 24 ++++++++++++++++--------
|
|
1 file changed, 16 insertions(+), 8 deletions(-)
|
|
|
|
--- a/tools/perf/scripts/python/sctop.py
|
|
+++ b/tools/perf/scripts/python/sctop.py
|
|
@@ -8,7 +8,14 @@
|
|
# will be refreshed every [interval] seconds. The default interval is
|
|
# 3 seconds.
|
|
|
|
-import os, sys, thread, time
|
|
+from __future__ import print_function
|
|
+
|
|
+import os, sys, time
|
|
+
|
|
+try:
|
|
+ import thread
|
|
+except ImportError:
|
|
+ import _thread as thread
|
|
|
|
sys.path.append(os.environ['PERF_EXEC_PATH'] + \
|
|
'/scripts/python/Perf-Trace-Util/lib/Perf/Trace')
|
|
@@ -62,18 +69,19 @@ def print_syscall_totals(interval):
|
|
while 1:
|
|
clear_term()
|
|
if for_comm is not None:
|
|
- print "\nsyscall events for %s:\n\n" % (for_comm),
|
|
+ print("\nsyscall events for %s:\n" % (for_comm))
|
|
else:
|
|
- print "\nsyscall events:\n\n",
|
|
+ print("\nsyscall events:\n")
|
|
|
|
- print "%-40s %10s\n" % ("event", "count"),
|
|
- print "%-40s %10s\n" % ("----------------------------------------", \
|
|
- "----------"),
|
|
+ print("%-40s %10s" % ("event", "count"))
|
|
+ print("%-40s %10s" %
|
|
+ ("----------------------------------------",
|
|
+ "----------"))
|
|
|
|
- for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \
|
|
+ for id, val in sorted(syscalls.items(), key = lambda kv: (kv[1], kv[0]), \
|
|
reverse = True):
|
|
try:
|
|
- print "%-40s %10d\n" % (syscall_name(id), val),
|
|
+ print("%-40s %10d" % (syscall_name(id), val))
|
|
except TypeError:
|
|
pass
|
|
syscalls.clear()
|