hc
2024-02-19 151fecfb72a0d602dfe79790602ef64b4e241574
kernel/tools/perf/scripts/python/syscall-counts-by-pid.py
....@@ -5,6 +5,8 @@
55 # Displays system-wide system call totals, broken down by syscall.
66 # If a [comm] arg is specified, only syscalls called by [comm] are displayed.
77
8
+from __future__ import print_function
9
+
810 import os, sys
911
1012 sys.path.append(os.environ['PERF_EXEC_PATH'] + \
....@@ -31,17 +33,16 @@
3133 syscalls = autodict()
3234
3335 def trace_begin():
34
- print "Press control+C to stop and show the summary"
36
+ print("Press control+C to stop and show the summary")
3537
3638 def trace_end():
3739 print_syscall_totals()
3840
3941 def raw_syscalls__sys_enter(event_name, context, common_cpu,
40
- common_secs, common_nsecs, common_pid, common_comm,
41
- common_callchain, id, args):
42
-
42
+ common_secs, common_nsecs, common_pid, common_comm,
43
+ common_callchain, id, args):
4344 if (for_comm and common_comm != for_comm) or \
44
- (for_pid and common_pid != for_pid ):
45
+ (for_pid and common_pid != for_pid ):
4546 return
4647 try:
4748 syscalls[common_comm][common_pid][id] += 1
....@@ -49,26 +50,26 @@
4950 syscalls[common_comm][common_pid][id] = 1
5051
5152 def syscalls__sys_enter(event_name, context, common_cpu,
52
- common_secs, common_nsecs, common_pid, common_comm,
53
- id, args):
53
+ common_secs, common_nsecs, common_pid, common_comm,
54
+ id, args):
5455 raw_syscalls__sys_enter(**locals())
5556
5657 def print_syscall_totals():
57
- if for_comm is not None:
58
- print "\nsyscall events for %s:\n\n" % (for_comm),
59
- else:
60
- print "\nsyscall events by comm/pid:\n\n",
58
+ if for_comm is not None:
59
+ print("\nsyscall events for %s:\n" % (for_comm))
60
+ else:
61
+ print("\nsyscall events by comm/pid:\n")
6162
62
- print "%-40s %10s\n" % ("comm [pid]/syscalls", "count"),
63
- print "%-40s %10s\n" % ("----------------------------------------", \
64
- "----------"),
63
+ print("%-40s %10s" % ("comm [pid]/syscalls", "count"))
64
+ print("%-40s %10s" % ("----------------------------------------",
65
+ "----------"))
6566
66
- comm_keys = syscalls.keys()
67
- for comm in comm_keys:
68
- pid_keys = syscalls[comm].keys()
69
- for pid in pid_keys:
70
- print "\n%s [%d]\n" % (comm, pid),
71
- id_keys = syscalls[comm][pid].keys()
72
- for id, val in sorted(syscalls[comm][pid].iteritems(), \
73
- key = lambda(k, v): (v, k), reverse = True):
74
- print " %-38s %10d\n" % (syscall_name(id), val),
67
+ comm_keys = syscalls.keys()
68
+ for comm in comm_keys:
69
+ pid_keys = syscalls[comm].keys()
70
+ for pid in pid_keys:
71
+ print("\n%s [%d]" % (comm, pid))
72
+ id_keys = syscalls[comm][pid].keys()
73
+ for id, val in sorted(syscalls[comm][pid].items(),
74
+ key = lambda kv: (kv[1], kv[0]), reverse = True):
75
+ print(" %-38s %10d" % (syscall_name(id), val))