diff options
Diffstat (limited to 'tools/perf/scripts/python/failed-syscalls-by-pid.py')
| -rw-r--r-- | tools/perf/scripts/python/failed-syscalls-by-pid.py | 43 | 
1 files changed, 22 insertions, 21 deletions
diff --git a/tools/perf/scripts/python/failed-syscalls-by-pid.py b/tools/perf/scripts/python/failed-syscalls-by-pid.py index cafeff3d74db..310efe5e7e23 100644 --- a/tools/perf/scripts/python/failed-syscalls-by-pid.py +++ b/tools/perf/scripts/python/failed-syscalls-by-pid.py @@ -5,6 +5,8 @@  # Displays system-wide failed system call totals, broken down by pid.  # If a [comm] arg is specified, only syscalls called by [comm] are displayed. +from __future__ import print_function +  import os  import sys @@ -32,7 +34,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_error_totals() @@ -56,23 +58,22 @@ def syscalls__sys_exit(event_name, context, common_cpu,  	raw_syscalls__sys_exit(**locals())  def print_error_totals(): -    if for_comm is not None: -	    print "\nsyscall errors for %s:\n\n" % (for_comm), -    else: -	    print "\nsyscall errors:\n\n", - -    print "%-30s  %10s\n" % ("comm [pid]", "count"), -    print "%-30s  %10s\n" % ("------------------------------", \ -                                 "----------"), - -    comm_keys = syscalls.keys() -    for comm in comm_keys: -	    pid_keys = syscalls[comm].keys() -	    for pid in pid_keys: -		    print "\n%s [%d]\n" % (comm, pid), -		    id_keys = syscalls[comm][pid].keys() -		    for id in id_keys: -			    print "  syscall: %-16s\n" % syscall_name(id), -			    ret_keys = syscalls[comm][pid][id].keys() -			    for ret, val in sorted(syscalls[comm][pid][id].iteritems(), key = lambda(k, v): (v, k),  reverse = True): -				    print "    err = %-20s  %10d\n" % (strerror(ret), val), +	if for_comm is not None: +		print("\nsyscall errors for %s:\n" % (for_comm)) +	else: +		print("\nsyscall errors:\n") + +	print("%-30s  %10s" % ("comm [pid]", "count")) +	print("%-30s  %10s" % ("------------------------------", "----------")) + +	comm_keys = syscalls.keys() +	for comm in comm_keys: +		pid_keys = syscalls[comm].keys() +		for pid in pid_keys: +			print("\n%s [%d]" % (comm, pid)) +			id_keys = syscalls[comm][pid].keys() +			for id in id_keys: +				print("  syscall: %-16s" % syscall_name(id)) +				ret_keys = syscalls[comm][pid][id].keys() +				for ret, val in sorted(syscalls[comm][pid][id].items(), key = lambda kv: (kv[1], kv[0]), reverse = True): +					print("    err = %-20s  %10d" % (strerror(ret), val))  | 
