summaryrefslogtreecommitdiffstats
path: root/nfsd-probes.stp
diff options
context:
space:
mode:
authorSteve Dickson <steved@redhat.com>2010-02-23 13:37:26 -0500
committerSteve Dickson <steved@redhat.com>2010-02-23 13:37:26 -0500
commit696cda5d5c0f62e6429445969f2680a7000f1e70 (patch)
tree3bff45d672ccb6f0d5d6bcc1383eb518301d5719 /nfsd-probes.stp
parentb2ad9348e3cf5bf54cea4181cf5dacce1487a75d (diff)
downloadsystemtap-696cda5d5c0f62e6429445969f2680a7000f1e70.tar.gz
systemtap-696cda5d5c0f62e6429445969f2680a7000f1e70.tar.xz
systemtap-696cda5d5c0f62e6429445969f2680a7000f1e70.zip
Added nfsd-probes.stp
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'nfsd-probes.stp')
-rw-r--r--nfsd-probes.stp128
1 files changed, 128 insertions, 0 deletions
diff --git a/nfsd-probes.stp b/nfsd-probes.stp
new file mode 100644
index 0000000..692eee9
--- /dev/null
+++ b/nfsd-probes.stp
@@ -0,0 +1,128 @@
+/*
+%{
+#include <net/sock.h>
+#include <net/inet_hashtables.h>
+#include <linux/in.h>
+%}
+
+function _inet_ntoa:string (_uaddr:long) %{
+ struct sockaddr_in *addr;
+ unsigned char *bytes;
+
+ addr = (struct sockaddr_in *)(long)kread(&THIS->_uaddr);
+ bytes = (unsigned char *)&addr->sin_addr.s_addr;
+
+ snprintf(THIS->__retvalue, MAXSTRINGLEN,
+ "%d.%d.%d.%d:%d", bytes[0], bytes[1], bytes[2], bytes[3],
+ addr->sin_port);
+
+ CATCH_DEREF_FAULT();
+%}
+probe nfsd.dispatch {
+ printf("%s: ip %s proto %d vers %d\n", name, client_ip, proto, version);
+ printf("%s: xid %d prog %d proc %d\n", name, xid, prog, proc);
+}
+probe nfsd.dispatch.return {
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.entries {
+ printf("%s:\n", name);
+}
+probe nfsd.proc.return {
+ printf("%s: %s %d\n", name, retstr, $return);
+}
+probe nfsd.proc2.lookup {
+ printf("%s: ip 0x%x proto %d fh 0x%x filename %s\n",
+ name, client_ip, proto, fh, filename);
+}
+probe nfsd.proc3.lookup {
+ printf("%s: ip 0x%x proto %d fh 0x%x filename %s\n",
+ name, client_ip, proto, fh, filename);
+}
+probe nfsd.proc4.lookup {
+ printf("%s: ip 0x%x proto %d fh 0x%x filename %s\n",
+ name, client_ip, proto, fh, filename);
+}
+probe nfsd.proc.lookup {
+ printf("%s: ip 0x%x proto %d fh 0x%x filename %s\n",
+ name, client_ip, proto, fh, filename);
+}
+probe nfsd.proc.lookup.return {
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc2.read {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d vec 0x%x vlen %d\n",
+ name, client_ip, proto, fh, count, offset, vec, vlen);
+}
+probe nfsd.proc3.read {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d vec 0x%x vlen %d\n",
+ name, client_ip, proto, fh, count, offset, vec, vlen);
+}
+probe nfsd.proc4.read {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d vec 0x%x vlen %d\n",
+ name, client_ip, proto, fh, count, offset, vec, vlen);
+}
+probe nfsd.proc.read {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d vec 0x%x vlen %d\n",
+ name, client_ip, proto, fh, count, offset, vec, vlen);
+}
+probe nfsd.proc.read.return {
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.write {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d vlen %d stable %d\n",
+ name, client_ip, proto, fh, count, offset, vlen, stable);
+}
+probe nfsd.proc.write.return {
+
+ printf("%s: count %d stable %d\n", name, count, stable);
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.commit {
+ printf("%s: ip 0x%x proto %d fh 0x%x count %d offset %d\n",
+ name, client_ip, proto, fh, count, offset);
+}
+probe nfsd.proc.commit.return {
+
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.create {
+ printf("%s: %s\n", name, argstr);
+}
+probe nfsd.proc.commit.return {
+
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.remove {
+ printf("%s: %s\n", name, argstr);
+}
+probe nfsd.proc.remove.return {
+
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+probe nfsd.proc.rename {
+ printf("%s: %s\n", name, argstr);
+}
+probe nfsd.proc.rename.return {
+
+ if ($return)
+ printf("%s: %s\n", name, retstr);
+}
+*/
+probe nfsd.entries {
+ printf("%s: ip %s %s\n", name, client_ip, argstr);
+}
+probe nfsd.return {
+
+ if ($return)
+ printf("%s: ip %s %s\n", client_ip, name, retstr);
+}
+probe begin { log("Starting NFS server probes") }
+probe end { log("Ending NFS server probes") }