. Print message at script start telling how to get te summary . Print the syscall name Now it looks like this: [root@emilia ~]# perf trace syscall-counts Press control+C to stop and show the summary ^C syscall events: event count ---------------------------------------- ----------- read 102752 open 1293 close 878 write 319 stat 185 fstat 149 getdents 116 mmap 98 brk 80 rt_sigaction 66 munmap 42 mprotect 24 lseek 21 lstat 7 rt_sigprocmask 4 futex 3 statfs 3 ioctl 3 readlink 2 select 2 getegid 1 geteuid 1 getgid 1 getuid 1 getrlimit 1 fcntl 1 uname 1 [root@emilia ~]#
Showing the changes to tools/perf/scripts/python/syscall-counts.py (1 of 1 file). Show all
Unified · Split
| @@ -13,6 +13,7 @@ sys.path.append(os.environ['PERF_EXEC_PATH'] + \ · 12 unmodified lines | |||
| 13 | 13 | ||
| 14 | from perf_trace_context import * | 14 | from perf_trace_context import * |
| 15 | from Core import * | 15 | from Core import * |
| 16 | from Util import syscall_name | ||
| 16 | 17 | ||
| 17 | usage = "perf trace -s syscall-counts.py [comm]\n"; | 18 | usage = "perf trace -s syscall-counts.py [comm]\n"; |
| 18 | 19 | ||
| @@ -27,7 +28,7 @@ if len(sys.argv) > 1: · 8 unmodified lines | |||
| 27 | syscalls = autodict() | 28 | syscalls = autodict() |
| 28 | 29 | ||
| 29 | def trace_begin(): | 30 | def trace_begin(): |
| 30 | pass | 31 | print "Press control+C to stop and show the summary" |
| 31 | 32 | ||
| 32 | def trace_end(): | 33 | def trace_end(): |
| 33 | print_syscall_totals() | 34 | print_syscall_totals() |
| @@ -55,4 +56,4 @@ def print_syscall_totals(): · 21 unmodified lines | |||
| 55 | 56 | ||
| 56 | for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \ | 57 | for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \ |
| 57 | reverse = True): | 58 | reverse = True): |
| 58 | print "%-40d %10d\n" % (id, val), | 59 | print "%-40s %10d\n" % (syscall_name(id), val), |