diff options
author | William Cohen <wcohen@redhat.com> | 2010-02-02 14:32:38 -0500 |
---|---|---|
committer | William Cohen <wcohen@redhat.com> | 2010-02-02 14:32:38 -0500 |
commit | 111dd9ac1d5e127b80c89be484be37ea326b449d (patch) | |
tree | 1b4f85890d811d8c4260eefe529ce34bf68985bb /testsuite/systemtap.examples/io | |
parent | a4f3198f0b774528ef17dfb1ce5b3e70b6eb82fb (diff) | |
download | systemtap-steved-111dd9ac1d5e127b80c89be484be37ea326b449d.tar.gz systemtap-steved-111dd9ac1d5e127b80c89be484be37ea326b449d.tar.xz systemtap-steved-111dd9ac1d5e127b80c89be484be37ea326b449d.zip |
Add nfs_func_users example.
Diffstat (limited to 'testsuite/systemtap.examples/io')
-rw-r--r-- | testsuite/systemtap.examples/io/nfs_func_users.meta | 13 | ||||
-rwxr-xr-x | testsuite/systemtap.examples/io/nfs_func_users.stp | 18 |
2 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/io/nfs_func_users.meta b/testsuite/systemtap.examples/io/nfs_func_users.meta new file mode 100644 index 00000000..e37d401a --- /dev/null +++ b/testsuite/systemtap.examples/io/nfs_func_users.meta @@ -0,0 +1,13 @@ +title: Tally the Number of NFS Functions Used by Each Process +name: nfs_func_users.stp +version: 1.0 +author: William Cohen +keywords: io profiling +subsystem: io +status: production +exit: user-controlled +output: sorted-list +scope: system-wide +description: The nfs_func_users.stp script counts the uses of NFS functions in the kernel on a per process bases. The output is sorted from the process with the greatest number of NFS functions called to the least. The output contains the executable name, the process number, and the total number of NFS functions called by the process. +test_check: stap -p4 nfs_func_users.stp +test_installcheck: stap nfs_func_users.stp -c "sleep 0.2" diff --git a/testsuite/systemtap.examples/io/nfs_func_users.stp b/testsuite/systemtap.examples/io/nfs_func_users.stp new file mode 100755 index 00000000..010db420 --- /dev/null +++ b/testsuite/systemtap.examples/io/nfs_func_users.stp @@ -0,0 +1,18 @@ +#!/usr/bin/env stap + +global nfsdcalls + +probe begin { + printf("Collecting top NFSD procs...\n") +} + +probe kernel.function("*@fs/nfs/*proc.c") ?, + module("nfs").function("*@fs/nfs/*proc.c") ? { + nfsdcalls[execname(), pid()]++ +} + +probe end { + printf("\nname(pid) nfs ops\n"); + foreach ([name,p] in nfsdcalls- limit 20) + printf("%s(%d) %d\n", name, p, nfsdcalls[name, p]) +} |