From 6a02e45e947a043ec4790dc42194bf020720ed5e Mon Sep 17 00:00:00 2001 From: ddomingo Date: Wed, 29 Oct 2008 12:05:46 +1000 Subject: adding new simple files to docbook local folder --- .../en-US/extras/inodewatch-simple.stp | 11 ++++++ .../en-US/extras/inodewatch2-simple.stp | 12 +++++++ .../en-US/extras/para-callgraph-simple.stp | 40 ++++++++++++++++++++++ .../en-US/extras/traceio2-simple.stp | 8 +++++ 4 files changed, 71 insertions(+) create mode 100644 doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch-simple.stp create mode 100644 doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch2-simple.stp create mode 100755 doc/SystemTap_Beginners_Guide/en-US/extras/para-callgraph-simple.stp create mode 100755 doc/SystemTap_Beginners_Guide/en-US/extras/traceio2-simple.stp (limited to 'doc/SystemTap_Beginners_Guide/en-US') diff --git a/doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch-simple.stp b/doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch-simple.stp new file mode 100644 index 00000000..5f81008d --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/extras/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/doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch2-simple.stp b/doc/SystemTap_Beginners_Guide/en-US/extras/inodewatch2-simple.stp new file mode 100644 index 00000000..4fea18e6 --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/extras/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()) +} diff --git a/doc/SystemTap_Beginners_Guide/en-US/extras/para-callgraph-simple.stp b/doc/SystemTap_Beginners_Guide/en-US/extras/para-callgraph-simple.stp new file mode 100755 index 00000000..17cf50a5 --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/extras/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) } diff --git a/doc/SystemTap_Beginners_Guide/en-US/extras/traceio2-simple.stp b/doc/SystemTap_Beginners_Guide/en-US/extras/traceio2-simple.stp new file mode 100755 index 00000000..7b9708a9 --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/extras/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