summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sunrpc/sunrpc-svc.stp24
1 files changed, 24 insertions, 0 deletions
diff --git a/sunrpc/sunrpc-svc.stp b/sunrpc/sunrpc-svc.stp
new file mode 100644
index 0000000..5de6059
--- /dev/null
+++ b/sunrpc/sunrpc-svc.stp
@@ -0,0 +1,24 @@
+global rq_prog, rq_vers, rq_proc, rq_prot, sv_name
+
+probe module("sunrpc").function("svc_process")
+{
+ rq_prot = $rqstp->rq_prot
+ rq_proc = $rqstp->rq_proc
+ rq_vers = $rqstp->rq_vers
+ rq_prog = $rqstp->rq_prog
+ sv_name = kernel_string($rqstp->rq_server->sv_name)
+}
+probe module("sunrpc").function("svc_process").return
+{
+ if ($return == 0) {
+ printf("%s(%d): svc_process: return %d (%s)\n",
+ execname(), pid(), $return, errno_str($return));
+ } else if ($return != 0) {
+ printf("%s(%d): svc_process:%s:%d,%d:%d:%d: bytes %d\n",
+ execname(), pid(), sv_name, rq_proc,rq_vers,
+ rq_prot,rq_prog, $return);
+ }
+}
+probe begin { log("starting sunrpc-svc probe") }
+probe end { log("ending sunrpc-svc probe") }
+