Support both Python 2 and Python 3 in syscall-counts.py. ``print`` is now a function rather than a statement. This should have no functional change.
Fix lambda syntax error Signed-off-by: Seeteena Thoufeek <s1see...@linux.vnet.ibm.com> Reviewed-by: Ravi Bangoria <ravi.bango...@linux.ibm.com> --- tools/perf/scripts/python/syscall-counts.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/tools/perf/scripts/python/syscall-counts.py b/tools/perf/scripts/python/syscall-counts.py index e66a773..6ca67bd 100644 --- a/tools/perf/scripts/python/syscall-counts.py +++ b/tools/perf/scripts/python/syscall-counts.py @@ -4,6 +4,7 @@ # # Displays system-wide system call totals, broken down by syscall. # If a [comm] arg is specified, only syscalls called by [comm] are displayed. +from __future__ import print_function import os import sys @@ -28,7 +29,7 @@ if len(sys.argv) > 1: syscalls = autodict() def trace_begin(): - print "Press control+C to stop and show the summary" + print("Press control+C to stop and show the summary") def trace_end(): print_syscall_totals() @@ -51,14 +52,14 @@ def syscalls__sys_enter(event_name, context, common_cpu, def print_syscall_totals(): if for_comm is not None: - print "\nsyscall events for %s:\n\n" % (for_comm), + print("\nsyscall events for %s:\n\n" % (for_comm)), else: - print "\nsyscall events:\n\n", + print("\nsyscall events:\n\n"), - print "%-40s %10s\n" % ("event", "count"), - print "%-40s %10s\n" % ("----------------------------------------", \ - "-----------"), + print("%-40s %10s\n" % ("event", "count")), + print("%-40s %10s\n" % ("----------------------------------------", \ + "-----------")), - for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \ + for id, val in sorted(syscalls.iteritems(), key = lambda k_v: (k_v[1], k_v[0]), \ reverse = True): - print "%-40s %10d\n" % (syscall_name(id), val), + print("%-40s %10d\n" % (syscall_name(id), val)), -- 1.8.3.1