summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/profiling/functioncallcount.stp
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2008-08-08 12:26:02 -0500
committerDavid Smith <dsmith@redhat.com>2008-08-08 12:26:02 -0500
commita9a23c6ec198c08057989d6c3fc08b8865681bc4 (patch)
tree2d28417ab9a45f3200dcda7acdf84998c9c2b383 /testsuite/systemtap.examples/profiling/functioncallcount.stp
parent9963b5fc7945ce939aaa8027ca71927cb77a55ff (diff)
parent751f828801e9bd4739d03a31a77e84c91e075b4e (diff)
downloadsystemtap-steved-a9a23c6ec198c08057989d6c3fc08b8865681bc4.tar.gz
systemtap-steved-a9a23c6ec198c08057989d6c3fc08b8865681bc4.tar.xz
systemtap-steved-a9a23c6ec198c08057989d6c3fc08b8865681bc4.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap into work
Diffstat (limited to 'testsuite/systemtap.examples/profiling/functioncallcount.stp')
-rw-r--r--testsuite/systemtap.examples/profiling/functioncallcount.stp17
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/profiling/functioncallcount.stp b/testsuite/systemtap.examples/profiling/functioncallcount.stp
new file mode 100644
index 00000000..e393b612
--- /dev/null
+++ b/testsuite/systemtap.examples/profiling/functioncallcount.stp
@@ -0,0 +1,17 @@
+# The following line command will probe all the functions
+# in kernel's memory management code:
+#
+# stap functioncallcount.stp "*@mm/*.c"
+
+probe kernel.function(@1) { # probe functions listed on commandline
+ called[probefunc()] <<< 1 # add a count efficiently
+}
+
+global called
+
+probe end {
+ foreach (fn in called-) # Sort by call count (in decreasing order)
+ # (fn+ in called) # Sort by function name
+ printf("%s %d\n", fn, @count(called[fn]))
+ exit()
+}