summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/functioncallcount.stp
diff options
context:
space:
mode:
authorWilliam Cohen <wcohen@redhat.com>2008-07-02 15:37:30 -0400
committerWilliam Cohen <wcohen@redhat.com>2008-07-02 15:37:30 -0400
commita784d2f76cab28ae77a363185177fc8513d13e19 (patch)
tree9bbde9f5cea9f09ef5346d3041a2eb290027ed44 /testsuite/systemtap.examples/functioncallcount.stp
parent92fa0578ee7cc6118487b386d9b85d8966e2771b (diff)
downloadsystemtap-steved-a784d2f76cab28ae77a363185177fc8513d13e19.tar.gz
systemtap-steved-a784d2f76cab28ae77a363185177fc8513d13e19.tar.xz
systemtap-steved-a784d2f76cab28ae77a363185177fc8513d13e19.zip
Add functioncallcount.meta and functioncallcount.stp.
Diffstat (limited to 'testsuite/systemtap.examples/functioncallcount.stp')
-rw-r--r--testsuite/systemtap.examples/functioncallcount.stp17
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/functioncallcount.stp b/testsuite/systemtap.examples/functioncallcount.stp
new file mode 100644
index 00000000..e393b612
--- /dev/null
+++ b/testsuite/systemtap.examples/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()
+}