[tip:perf/urgent] perf python scripting: Improve the syscalls-counts script

tip-bot for Arnaldo Carvalho de Melo
2010-10-26T10:23:29Z

Commit-ID: 6545aaa561b5678c497e94dea22cb2d1af1d6859
Gitweb: http://git.kernel.org/tip/6545aaa561b5678c497e94dea22cb2d1af1d6859
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
AuthorDate: Mon, 25 Oct 2010 17:11:25 -0200
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 25 Oct 2010 18:47:11 -0200

perf python scripting: Improve the syscalls-counts script

. 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 ~]#

Cc: David S. Miller <davem@davemloft.net>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/scripts/python/syscall-counts.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/perf/scripts/python/syscall-counts.py b/tools/perf/scripts/python/syscall-counts.py
index f977e85..ea183dc 100644
--- a/tools/perf/scripts/python/syscall-counts.py
+++ b/tools/perf/scripts/python/syscall-counts.py
@@ -13,6 +13,7 @@ sys.path.append(os.environ['PERF_EXEC_PATH'] + \

from perf_trace_context import *
from Core import *
+from Util import syscall_name

usage = "perf trace -s syscall-counts.py [comm]\n";

@@ -27,7 +28,7 @@ if len(sys.argv) > 1:
syscalls = autodict()

def trace_begin():
- pass
+ print "Press control+C to stop and show the summary"

def trace_end():
print_syscall_totals()
@@ -55,4 +56,4 @@ def print_syscall_totals():

for id, val in sorted(syscalls.iteritems(), key = lambda(k, v): (v, k), \
reverse = True):
- print "%-40d %10d\n" % (id, val),
+ print "%-40s %10d\n" % (syscall_name(id), val),