summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.examples')
-rwxr-xr-xtestsuite/systemtap.examples/general/grapher.stp23
-rw-r--r--testsuite/systemtap.examples/memory/vm.tracepoints.meta13
-rw-r--r--testsuite/systemtap.examples/memory/vm.tracepoints.stp18
3 files changed, 43 insertions, 11 deletions
diff --git a/testsuite/systemtap.examples/general/grapher.stp b/testsuite/systemtap.examples/general/grapher.stp
index baeeff5c..46f5063c 100755
--- a/testsuite/systemtap.examples/general/grapher.stp
+++ b/testsuite/systemtap.examples/general/grapher.stp
@@ -35,17 +35,18 @@ probe kernel.function("kbd_event") {
}
probe kernel.function("pty_write") {
- if ($count > 0) {
- printf("pty %d ", gettimeofday_ms())
- str = kernel_string($buf)
- for (i = 0; i < $count; ++i) {
- if (i > 1)
- printf("\n")
- # yes it's gross
- c = substr(str, i, 1)
- printf("%s", text_str(c))
- }
- printf("%c", 0)
+ count = %(kernel_v>="2.6.31" %? $c %: $count %)
+ if (count > 0) {
+ printf("pty %d ", gettimeofday_ms())
+ str = kernel_string($buf)
+ for (i = 0; i < count; ++i) {
+ if (i > 1)
+ printf("\n")
+ # yes it's gross
+ c = substr(str, i, 1)
+ printf("%s", text_str(c))
+ }
+ printf("%c", 0)
}
}
diff --git a/testsuite/systemtap.examples/memory/vm.tracepoints.meta b/testsuite/systemtap.examples/memory/vm.tracepoints.meta
new file mode 100644
index 00000000..9fdb73f6
--- /dev/null
+++ b/testsuite/systemtap.examples/memory/vm.tracepoints.meta
@@ -0,0 +1,13 @@
+title: Collect slab allocation statistics
+name: vm.tracepoints.stp
+version: 1.0
+author: Rajasekhar
+keywords: memory slab allocator
+subsystem: memory
+status: production
+exit: user-controlled
+output: sorted-list
+scope: system-wide
+description: The script will probe all memory slab/slub allocations and collects information about the size of the object (bytes requested) and user-space process in execution. When run over a period of time, it helps to correlate kernel-space memory consumption owing to user-space processes.
+test_check: stap -p4 vm.tracepoints.stp
+test_installcheck: stap vm.tracepoints.stp -c "sleep 10"
diff --git a/testsuite/systemtap.examples/memory/vm.tracepoints.stp b/testsuite/systemtap.examples/memory/vm.tracepoints.stp
new file mode 100644
index 00000000..07cee6f5
--- /dev/null
+++ b/testsuite/systemtap.examples/memory/vm.tracepoints.stp
@@ -0,0 +1,18 @@
+global slabs
+
+probe vm.kmem_cache_alloc {
+ slabs [execname(), bytes_req]<<<1
+}
+
+probe timer.ms(10000)
+{
+ dummy = "";
+ foreach ([name, bytes] in slabs) {
+ if (dummy != name)
+ printf("\nProcess:%s\n", name);
+ printf("Slab_size:%d\tCount:%d\n", bytes, @count(slabs[name, bytes]));
+ dummy = name;
+ }
+ delete slabs
+ printf("\n-------------------------------------------------------\n\n")
+}