summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples
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
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')
-rw-r--r--testsuite/systemtap.examples/ChangeLog4
-rw-r--r--testsuite/systemtap.examples/functioncallcount.meta13
-rw-r--r--testsuite/systemtap.examples/functioncallcount.stp17
3 files changed, 34 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/ChangeLog b/testsuite/systemtap.examples/ChangeLog
index c4d2c355..dcaafe59 100644
--- a/testsuite/systemtap.examples/ChangeLog
+++ b/testsuite/systemtap.examples/ChangeLog
@@ -1,5 +1,9 @@
2008-07-02 William Cohen <wcohen@redhat.com>
+ * functioncallcount.meta, functioncallcount.stp: New.
+
+2008-07-02 William Cohen <wcohen@redhat.com>
+
* para-callgraph.stp, para-callgraph.meta: New.
2008-06-20 William Cohen <wcohen@redhat.com>
diff --git a/testsuite/systemtap.examples/functioncallcount.meta b/testsuite/systemtap.examples/functioncallcount.meta
new file mode 100644
index 00000000..4d419528
--- /dev/null
+++ b/testsuite/systemtap.examples/functioncallcount.meta
@@ -0,0 +1,13 @@
+title: Count Times Functions Called
+name: functioncallcount.stp
+version: 1.0
+author: anonymous
+keywords: profiling functions
+subsystem: kernel
+status: production
+exit: user-controlled
+output: sorted-list on-exit
+scope: system-wide
+description: The functioncallcount.stp script takes one argument, a list of functions to probe. The script will run and count the number of times that each of the functions on the list is called. On exit the script will print a sorted list from most frequently to least frequently called function.
+test_check: stap -p4 functioncallcount.stp "*@mm/*.c"
+test_installcheck: stap functioncallcount.stp "*@mm/*.c" -c "sleep 1"
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()
+}