diff options
author | Steve Dickson <steved@redhat.com> | 2010-02-23 13:37:26 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2010-02-23 13:37:26 -0500 |
commit | 696cda5d5c0f62e6429445969f2680a7000f1e70 (patch) | |
tree | 3bff45d672ccb6f0d5d6bcc1383eb518301d5719 /nfsd-probes.stp | |
parent | b2ad9348e3cf5bf54cea4181cf5dacce1487a75d (diff) | |
download | systemtap-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.stp | 128 |
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") } |