History

perf script python: Add Python3 support to syscall-counts.py

Support both Python2 and Python3 in the syscall-counts.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

Tony Jones committed 7 years ago

Commit 1d1b0db1 parent e985bf71 file · +10 −8Browse files

Showing the changes to tools/perf/scripts/python (1 of 1 file). Show all

Unified · Split

tools/perf/scripts/python/syscall-counts.py+10−8
@@ -5,6 +5,8 @@ · 4 unmodified lines
5# Displays system-wide system call totals, broken down by syscall.5# Displays system-wide system call totals, broken down by syscall.
6# If a [comm] arg is specified, only syscalls called by [comm] are displayed.6# If a [comm] arg is specified, only syscalls called by [comm] are displayed.
7 7
8from __future__ import print_function
9
8import os10import os
9import sys11import sys
10 12
@@ -28,7 +30,7 @@ if len(sys.argv) > 1: · 17 unmodified lines
28syscalls = autodict()30syscalls = autodict()
29 31
30def trace_begin():32def trace_begin():
31 print "Press control+C to stop and show the summary"33 print("Press control+C to stop and show the summary")
32 34
33def trace_end():35def trace_end():
34 print_syscall_totals()36 print_syscall_totals()
@@ -51,14 +53,14 @@ def syscalls__sys_enter(event_name, context, common_cpu, · 16 unmodified lines
51 53
52def print_syscall_totals():54def print_syscall_totals():
53 if for_comm is not None:55 if for_comm is not None:
54 print "\nsyscall events for %s:\n\n" % (for_comm),56 print("\nsyscall events for %s:\n" % (for_comm))
55 else:57 else:
56 print "\nsyscall events:\n\n",58 print("\nsyscall events:\n")
57 59
58 print "%-40s %10s\n" % ("event", "count"),60 print("%-40s %10s" % ("event", "count"))
59 print "%-40s %10s\n" % ("----------------------------------------", \61 print("%-40s %10s" % ("----------------------------------------",
60 "-----------"),62 "-----------"))
61 63
62 for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \64 for id, val in sorted(syscalls.items(), key = lambda kv: (kv[1], kv[0]), \
63 reverse = True):65 reverse = True):
64 print "%-40s %10d\n" % (syscall_name(id), val),66 print("%-40s %10d" % (syscall_name(id), val))