From 165cfc683521e3e323e54a7c5b24628d84c7eb63 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Mon, 27 Oct 2008 12:09:07 +1000 Subject: minor revision, shortening long line) --- testsuite/systemtap.examples/io/disktop.stp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'testsuite') diff --git a/testsuite/systemtap.examples/io/disktop.stp b/testsuite/systemtap.examples/io/disktop.stp index 2637d735..fcfe79ed 100755 --- a/testsuite/systemtap.examples/io/disktop.stp +++ b/testsuite/systemtap.examples/io/disktop.stp @@ -52,7 +52,7 @@ probe timer.ms(5000) { } /* print top ten I/O */ foreach ([process,cmd,userid,parent,action] in io_stat- limit 10) - printf("%8d %8d %8d %25s %8s %4s %12d\n",userid,process,parent,cmd,device[process,cmd,userid,parent,action],action,io_stat[process,cmd,userid,parent,action]) + printf("%8d %8d %8d %25s %8s %4s %12d\n",userid,process,parent,cmd,device[process,cmd,userid,parent,action], action,io_stat[process,cmd,userid,parent,action]) /* clear data */ delete io_stat -- cgit From d60f18067e710a120d3ff063c76500941a0b5ecb Mon Sep 17 00:00:00 2001 From: ddomingo Date: Mon, 27 Oct 2008 12:56:53 +1000 Subject: added simplified traceio2 --- testsuite/systemtap.examples/io/traceio2-simple.meta | 13 +++++++++++++ testsuite/systemtap.examples/io/traceio2-simple.stp | 8 ++++++++ 2 files changed, 21 insertions(+) create mode 100644 testsuite/systemtap.examples/io/traceio2-simple.meta create mode 100755 testsuite/systemtap.examples/io/traceio2-simple.stp (limited to 'testsuite') diff --git a/testsuite/systemtap.examples/io/traceio2-simple.meta b/testsuite/systemtap.examples/io/traceio2-simple.meta new file mode 100644 index 00000000..558539e3 --- /dev/null +++ b/testsuite/systemtap.examples/io/traceio2-simple.meta @@ -0,0 +1,13 @@ +title: Watch I/O Activity on a Particular Device Simplified +name: traceio2-simple.stp +version: 1.0 +author: Red Hat +keywords: io +subsystem: io +status: production +exit: user-controlled +output: trace +scope: system-wide +description: Print out the executable name and process number as reads and writes to the specified device occur. +test_check: stap -p4 traceio2.stp 8 5 +test_installcheck: stap traceio2.stp 8 5 -c "sleep 1" diff --git a/testsuite/systemtap.examples/io/traceio2-simple.stp b/testsuite/systemtap.examples/io/traceio2-simple.stp new file mode 100755 index 00000000..ed5efdd1 --- /dev/null +++ b/testsuite/systemtap.examples/io/traceio2-simple.stp @@ -0,0 +1,8 @@ +probe kernel.function ("vfs_write"), +kernel.function ("vfs_read") +{ +dev_nr = $file->f_dentry->d_inode->i_sb->s_dev +inode_nr = $file->f_dentry->d_inode->i_ino +if (dev_nr == ($1 << 20 | $2)) +printf ("%s(%d) %s 0x%x\n", execname(), pid(), probefunc(), dev_nr) +} -- cgit From 313cfc85e435b93bfa9110cda3e3f930de066643 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Mon, 27 Oct 2008 13:11:27 +1000 Subject: added simplified, working para-callgraph --- .../general/para-callgraph-simple.meta | 7 ++++ .../general/para-callgraph-simple.stp | 40 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 testsuite/systemtap.examples/general/para-callgraph-simple.meta create mode 100755 testsuite/systemtap.examples/general/para-callgraph-simple.stp (limited to 'testsuite') diff --git a/testsuite/systemtap.examples/general/para-callgraph-simple.meta b/testsuite/systemtap.examples/general/para-callgraph-simple.meta new file mode 100644 index 00000000..4a0bb251 --- /dev/null +++ b/testsuite/systemtap.examples/general/para-callgraph-simple.meta @@ -0,0 +1,7 @@ +title: Callgraph tracing with arguments +name: para-callgraph.stp +keywords: trace callgraph +subsystem: general +description: Print a timed per-thread callgraph, complete with function parameters and return values. The first parameter names the function probe points to trace. The optional second parameter names the probe points for trigger functions, which acts to enable tracing for only those functions that occur while the current thread is nested within the trigger. +test_check: stap -p4 para-callgraph.stp sys_read '*@fs/*.c' +test_installcheck: TBD diff --git a/testsuite/systemtap.examples/general/para-callgraph-simple.stp b/testsuite/systemtap.examples/general/para-callgraph-simple.stp new file mode 100755 index 00000000..17cf50a5 --- /dev/null +++ b/testsuite/systemtap.examples/general/para-callgraph-simple.stp @@ -0,0 +1,40 @@ +function trace(entry_p) { + if(tid() in trace) + printf("%s%s%s\n",thread_indent(entry_p), + (entry_p>0?"->":"<-"), + probefunc()) +} + +global trace +probe kernel.function(@1).call { + if (execname() == "stapio") next # skip our own helper process + trace[tid()] = 1 + trace(1) +} +probe kernel.function(@1).return { + trace(-1) + delete trace[tid()] +} + +probe kernel.function(@2).call { trace(1) } +probe kernel.function(@2).return { trace(-1) } +function trace(entry_p) { + if(tid() in trace) + printf("%s%s%s\n",thread_indent(entry_p), + (entry_p>0?"->":"<-"), + probefunc()) +} + +global trace +probe kernel.function(@1).call { + if (execname() == "stapio") next # skip our own helper process + trace[tid()] = 1 + trace(1) +} +probe kernel.function(@1).return { + trace(-1) + delete trace[tid()] +} + +probe kernel.function(@2).call { trace(1) } +probe kernel.function(@2).return { trace(-1) } -- cgit From 709fde54c8c296d537e58af4bc619b18c654f6a2 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Mon, 27 Oct 2008 13:24:21 +1000 Subject: added inodewatch from warstories --- testsuite/systemtap.examples/general/inodewatch-simple.stp | 11 +++++++++++ testsuite/systemtap.examples/general/inodewatch2-simple.stp | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 testsuite/systemtap.examples/general/inodewatch-simple.stp create mode 100644 testsuite/systemtap.examples/general/inodewatch2-simple.stp (limited to 'testsuite') diff --git a/testsuite/systemtap.examples/general/inodewatch-simple.stp b/testsuite/systemtap.examples/general/inodewatch-simple.stp new file mode 100644 index 00000000..5f81008d --- /dev/null +++ b/testsuite/systemtap.examples/general/inodewatch-simple.stp @@ -0,0 +1,11 @@ +probe kernel.function ("vfs_write"), + kernel.function ("vfs_read") +{ + dev_nr = $file->f_dentry->d_inode->i_sb->s_dev + inode_nr = $file->f_dentry->d_inode->i_ino + if (dev_nr == ($1 << 20 | $2) # major/minor device + && inode_nr == $3) + printf ("%s(%d) %s 0x%x/%u\n", + execname(), pid(), probefunc(), dev_nr, inode_nr) +} + stap -p4 para-callgraph.stp sys_read '*@fs/*.c' diff --git a/testsuite/systemtap.examples/general/inodewatch2-simple.stp b/testsuite/systemtap.examples/general/inodewatch2-simple.stp new file mode 100644 index 00000000..4fea18e6 --- /dev/null +++ b/testsuite/systemtap.examples/general/inodewatch2-simple.stp @@ -0,0 +1,12 @@ +global ATTR_MODE = 1 + +probe kernel.function("inode_setattr") { + dev_nr = $inode->i_sb->s_dev + inode_nr = $inode->i_ino + + if (dev_nr == ($1 << 20 | $2) # major/minor device + && inode_nr == $3 + && $attr->ia_valid & ATTR_MODE) + printf ("%s(%d) %s 0x%x/%u %o %d\n", + execname(), pid(), probefunc(), dev_nr, inode_nr, $attr->ia_mode, uid()) +} -- cgit