summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/network/nettop.stp
diff options
context:
space:
mode:
authorEugeniy Meshcheryakov <eugen@debian.org>2009-04-08 16:57:39 +0200
committerEugeniy Meshcheryakov <eugen@debian.org>2009-04-08 16:57:39 +0200
commit3dd58c2ac312fc16aa38124987081adbd6697629 (patch)
treeae65b9720fcea58bb97291e07fb335aff45260f9 /testsuite/systemtap.examples/network/nettop.stp
parentdc31eb39ab70d9d6b81d1ab02fd49795a4d8f2d0 (diff)
downloadsystemtap-steved-3dd58c2ac312fc16aa38124987081adbd6697629.tar.gz
systemtap-steved-3dd58c2ac312fc16aa38124987081adbd6697629.tar.xz
systemtap-steved-3dd58c2ac312fc16aa38124987081adbd6697629.zip
Fix stats for processes that only transmitted data without receiving
Diffstat (limited to 'testsuite/systemtap.examples/network/nettop.stp')
-rwxr-xr-xtestsuite/systemtap.examples/network/nettop.stp8
1 files changed, 8 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/network/nettop.stp b/testsuite/systemtap.examples/network/nettop.stp
index 15b4d62a..b84e4882 100755
--- a/testsuite/systemtap.examples/network/nettop.stp
+++ b/testsuite/systemtap.examples/network/nettop.stp
@@ -1,6 +1,7 @@
#! /usr/bin/env stap
global ifxmit, ifrecv
+global ifmerged
probe netdev.transmit
{
@@ -19,6 +20,12 @@ function print_activity()
"XMIT_KB", "RECV_KB", "COMMAND")
foreach ([pid, dev, exec, uid] in ifrecv-) {
+ ifmerged[pid, dev, exec, uid] = 1;
+ }
+ foreach ([pid, dev, exec, uid] in ifxmit-) {
+ ifmerged[pid, dev, exec, uid] = 1;
+ }
+ foreach ([pid, dev, exec, uid] in ifmerged-) {
n_xmit = @count(ifxmit[pid, dev, exec, uid])
n_recv = @count(ifrecv[pid, dev, exec, uid])
printf("%5d %5d %-7s %7d %7d %7d %7d %-15s\n",
@@ -32,6 +39,7 @@ function print_activity()
delete ifxmit
delete ifrecv
+ delete ifmerged
}
probe timer.ms(5000), end, error