diff options
author | William Cohen <wcohen@redhat.com> | 2008-05-20 16:07:50 -0400 |
---|---|---|
committer | William Cohen <wcohen@redhat.com> | 2008-05-20 16:07:50 -0400 |
commit | d15495ebff9e91135ae0923f4a36b2d2538bab54 (patch) | |
tree | c3a4a7bd1f5b9749bf58f3fd199d2bf787904f24 /testsuite/systemtap.examples/traceio.stp | |
parent | fc5a2d42b6cc46a9d4f7f3919ddc74ce70ad2a66 (diff) | |
download | systemtap-steved-d15495ebff9e91135ae0923f4a36b2d2538bab54.tar.gz systemtap-steved-d15495ebff9e91135ae0923f4a36b2d2538bab54.tar.xz systemtap-steved-d15495ebff9e91135ae0923f4a36b2d2538bab54.zip |
Add some scripts and descriptions to the systemtap.examples.
Diffstat (limited to 'testsuite/systemtap.examples/traceio.stp')
-rw-r--r-- | testsuite/systemtap.examples/traceio.stp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/traceio.stp b/testsuite/systemtap.examples/traceio.stp new file mode 100644 index 00000000..d3757c23 --- /dev/null +++ b/testsuite/systemtap.examples/traceio.stp @@ -0,0 +1,32 @@ +#!/usr/bin/env stap +# traceio.stp +# Copyright (C) 2007 Red Hat, Inc., Eugene Teo <eteo@redhat.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# + +global reads, writes, total_io + +probe kernel.function("vfs_read").return { + reads[execname()] += $return +} + +probe kernel.function("vfs_write").return { + writes[execname()] += $return +} + +probe timer.s(1) { + foreach (p in reads) + total_io[p] += reads[p] + foreach (p in writes) + total_io[p] += writes[p] + foreach(p in total_io- limit 10) + printf("%15s r: %8d KiB w: %8d KiB\n", + p, reads[p]/1024, + writes[p]/1024) + printf("\n") + # Note we don't zero out reads, writes and total_io, + # so the values are cumulative since the script started. +} |