diff options
author | Steve Dickson <steved@redhat.com> | 2009-08-13 10:41:07 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2009-08-13 10:41:07 -0400 |
commit | 0f38db8abb84c7a315762c9831dfcca101e50258 (patch) | |
tree | 86e7a5ea4975079af335cf2f0dd54d6bac704d5e | |
parent | acc153b757eb0988c9cdae8ab4cb41d53425bd75 (diff) | |
download | systemtap-0f38db8abb84c7a315762c9831dfcca101e50258.tar.gz systemtap-0f38db8abb84c7a315762c9831dfcca101e50258.tar.xz systemtap-0f38db8abb84c7a315762c9831dfcca101e50258.zip |
Added top-nfsclient.stp
Signed-off-by: Steve Dickson <steved@redhat.com>
-rwxr-xr-x | top-nfscalls.stp | 6 | ||||
-rw-r--r-- | top-nfsclient.stp | 145 | ||||
-rwxr-xr-x | top-nfsdcalls.stp | 6 |
3 files changed, 151 insertions, 6 deletions
diff --git a/top-nfscalls.stp b/top-nfscalls.stp index 62fe9d0..90586e0 100755 --- a/top-nfscalls.stp +++ b/top-nfscalls.stp @@ -3,11 +3,11 @@ global nfscalls probe begin { - printf("Collecting data...\n") + printf("Collecting top NFS procs...\n") } -probe kernel.function("*@fs/nfs") ?, - module("nfs").function("*@fs/nfs/*") ? +probe kernel.function("*@fs/nfs/*proc.c") ?, + module("nfs").function("*@fs/nfs/*proc.c") ? { nfscalls[probefunc()]++ } diff --git a/top-nfsclient.stp b/top-nfsclient.stp new file mode 100644 index 0000000..7d187c8 --- /dev/null +++ b/top-nfsclient.stp @@ -0,0 +1,145 @@ +#!/usr/bin/env stap + +global entry, timings + +probe begin { + printf("Collecting data... Hit <Ctrl-C> to stop..\n") +} + +function collect_entry() { entry[probefunc(),pid()] = gettimeofday_us() } +function collect_exit() { timings[probefunc()] <<< (gettimeofday_us() - entry[probefunc(),pid()]) } + +probe module("nfs").function("*@fs/nfs/*proc.c") { collect_entry(); } +probe module("nfs").function("*@fs/nfs/*proc.c").return { collect_exit(); } +/* +# Filename: nfs_v3_clientops_functions Line: 1 +probe module("nfs").function("nfs3_proc_get_root") { collect_entry(); } +probe module("nfs").function("nfs3_proc_get_root").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 2 +probe module("nfs").function("nfs3_proc_getattr") { collect_entry(); } +probe module("nfs").function("nfs3_proc_getattr").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 3 +probe module("nfs").function("nfs3_proc_setattr") { collect_entry(); } +probe module("nfs").function("nfs3_proc_setattr").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 4 +probe module("nfs").function("nfs3_proc_lookup") { collect_entry(); } +probe module("nfs").function("nfs3_proc_lookup").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 5 +probe module("nfs").function("nfs3_proc_access") { collect_entry(); } +probe module("nfs").function("nfs3_proc_access").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 6 +probe module("nfs").function("nfs3_proc_readlink") { collect_entry(); } +probe module("nfs").function("nfs3_proc_readlink").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 10 +probe module("nfs").function("nfs3_proc_create") { collect_entry(); } +probe module("nfs").function("nfs3_proc_create").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 11 +probe module("nfs").function("nfs3_proc_remove") { collect_entry(); } +probe module("nfs").function("nfs3_proc_remove").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 12 +probe module("nfs").function("nfs3_proc_unlink_setup") { collect_entry(); } +probe module("nfs").function("nfs3_proc_unlink_setup").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 13 +probe module("nfs").function("nfs3_proc_unlink_done") { collect_entry(); } +probe module("nfs").function("nfs3_proc_unlink_done").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 14 +probe module("nfs").function("nfs3_proc_rename") { collect_entry(); } +probe module("nfs").function("nfs3_proc_rename").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 15 +probe module("nfs").function("nfs3_proc_link") { collect_entry(); } +probe module("nfs").function("nfs3_proc_link").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 16 +probe module("nfs").function("nfs3_proc_symlink") { collect_entry(); } +probe module("nfs").function("nfs3_proc_symlink").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 17 +probe module("nfs").function("nfs3_proc_mkdir") { collect_entry(); } +probe module("nfs").function("nfs3_proc_mkdir").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 18 +probe module("nfs").function("nfs3_proc_rmdir") { collect_entry(); } +probe module("nfs").function("nfs3_proc_rmdir").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 19 +probe module("nfs").function("nfs3_proc_readdir") { collect_entry(); } +probe module("nfs").function("nfs3_proc_readdir").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 20 +probe module("nfs").function("nfs3_proc_mknod") { collect_entry(); } +probe module("nfs").function("nfs3_proc_mknod").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 21 +probe module("nfs").function("nfs3_proc_statfs") { collect_entry(); } +probe module("nfs").function("nfs3_proc_statfs").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 22 +probe module("nfs").function("nfs3_proc_fsinfo") { collect_entry(); } +probe module("nfs").function("nfs3_proc_fsinfo").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 23 +probe module("nfs").function("nfs3_proc_pathconf") { collect_entry(); } +probe module("nfs").function("nfs3_proc_pathconf").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 24 +probe module("nfs").function("nfs3_decode_dirent") { collect_entry(); } +probe module("nfs").function("nfs3_decode_dirent").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 25 +probe module("nfs").function("nfs3_proc_read_setup") { collect_entry(); } +probe module("nfs").function("nfs3_proc_read_setup").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 26 +probe module("nfs").function("nfs3_read_done") { collect_entry(); } +probe module("nfs").function("nfs3_read_done").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 27 +probe module("nfs").function("nfs3_proc_write_setup") { collect_entry(); } +probe module("nfs").function("nfs3_proc_write_setup").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 28 +probe module("nfs").function("nfs3_write_done") { collect_entry(); } +probe module("nfs").function("nfs3_write_done").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 29 +probe module("nfs").function("nfs3_proc_commit_setup") { collect_entry(); } +probe module("nfs").function("nfs3_proc_commit_setup").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 30 +probe module("nfs").function("nfs3_commit_done") { collect_entry(); } +probe module("nfs").function("nfs3_commit_done").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 31 +probe module("nfs").function("nfs_open") { collect_entry(); } +probe module("nfs").function("nfs_open").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 32 +probe module("nfs").function("nfs_release") { collect_entry(); } +probe module("nfs").function("nfs_release").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 33 +probe module("nfs").function("nfs3_proc_lock") { collect_entry(); } +probe module("nfs").function("nfs3_proc_lock").return { collect_exit(); } + +# Filename: nfs_v3_clientops_functions Line: 34 +probe module("nfs").function("nfs3_forget_cached_acls") { collect_entry(); } +probe module("nfs").function("nfs3_forget_cached_acls").return { collect_exit(); } +*/ +probe end { + printf("function count min_us avg_us max_us\n") + foreach (i+ in timings) { + printf("%-25s %7d %8d %8d %8d\n", i, @count(timings[i]), + @min(timings[i]), @avg(timings[i]), @max(timings[i])) + } +} diff --git a/top-nfsdcalls.stp b/top-nfsdcalls.stp index 7bfdf03..8b5dbdb 100755 --- a/top-nfsdcalls.stp +++ b/top-nfsdcalls.stp @@ -3,11 +3,11 @@ global nfsdcalls probe begin { - printf("Collecting data...\n") + printf("Collecting top NFSD procs...\n") } -probe kernel.function("*@fs/nfsd") ?, - module("nfsd").function("*@fs/nfsd/*") ? +probe kernel.function("*@fs/nfsd/*proc.c") ?, + module("nfsd").function("*@fs/nfsd/*proc.c*") ? { nfsdcalls[probefunc()]++ } |