summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKey Meyer <kai@fiber.net>2009-04-27 18:36:32 -0400
committerFrank Ch. Eigler <fche@elastic.org>2009-04-27 18:36:32 -0400
commit3b735623b8c878f52e0945074b4be4cdcd0bc257 (patch)
treee6038b2e80421dfac2c4bd8585d7399b174ae501
parent193ef171ea2cb656f1fe68898d13a40caa1625c2 (diff)
downloadsystemtap-steved-3b735623b8c878f52e0945074b4be4cdcd0bc257.tar.gz
systemtap-steved-3b735623b8c878f52e0945074b4be4cdcd0bc257.tar.xz
systemtap-steved-3b735623b8c878f52e0945074b4be4cdcd0bc257.zip
traceio sample: tolerate more than a few hundred processes
... rather than exiting with MAXACTIONS exceeded
-rwxr-xr-xtestsuite/systemtap.examples/io/traceio.stp18
1 files changed, 8 insertions, 10 deletions
diff --git a/testsuite/systemtap.examples/io/traceio.stp b/testsuite/systemtap.examples/io/traceio.stp
index 9e2deec6..a5d79fde 100755
--- a/testsuite/systemtap.examples/io/traceio.stp
+++ b/testsuite/systemtap.examples/io/traceio.stp
@@ -10,22 +10,20 @@
global reads, writes, total_io
probe vfs.read.return {
- reads[execname()] += $return
+ reads[pid(),execname()] += $return
+ total_io[pid(),execname()] += $return
}
probe vfs.write.return {
- writes[execname()] += $return
+ writes[pid(),execname()] += $return
+ total_io[pid(),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)
+ foreach([p,e] in total_io- limit 10)
+ printf("%8d %15s r: %8d MiB w: %8d MiB\n",
+ p, e, reads[p,e]/1024/1024,
+ writes[p,e]/1024/1024)
printf("\n")
# Note we don't zero out reads, writes and total_io,
# so the values are cumulative since the script started.