#!/usr/bin/env stap global reads, writes probe begin { printf("Collecting data...\n") } probe syscall.read.return { if ($return > 0) reads[execname()] += $return } probe syscall.write.return { if ($return > 0) writes[execname()] += $return } probe end { printf("Bytes read by process name:\n") foreach (name in reads-) printf("%10d %s\n", reads[name], name) printf("Bytes written by process name:\n") foreach (name in writes-) printf("%10d %s\n", writes[name], name) }