diff options
author | ddomingo <ddomingo@redhat.com> | 2008-10-29 12:05:46 +1000 |
---|---|---|
committer | ddomingo <ddomingo@redhat.com> | 2008-10-29 12:05:46 +1000 |
commit | 6a02e45e947a043ec4790dc42194bf020720ed5e (patch) | |
tree | 9ec4ff16ec626a501e9ac4ff7856ee6942d86735 /doc/SystemTap_Beginners_Guide/en-US | |
parent | f1da90e8674dc76b914adf819da54d31d8ff85ff (diff) | |
download | systemtap-steved-6a02e45e947a043ec4790dc42194bf020720ed5e.tar.gz systemtap-steved-6a02e45e947a043ec4790dc42194bf020720ed5e.tar.xz systemtap-steved-6a02e45e947a043ec4790dc42194bf020720ed5e.zip |
adding new simple files to docbook local folder
Diffstat (limited to 'doc/SystemTap_Beginners_Guide/en-US')
4 files changed, 71 insertions, 0 deletions
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) +} |