我一直在玩SystemTap,遇到了一个在文档中找不到答案的问题。SystemTap语言指定可用于积累数据的“聚合”数据类型。我正在尝试编写一个脚本,该脚本将聚合vfs、读写,然后每5秒打印出该聚合的总和。但是,一旦我打印出了和,我想重新设置聚合,这样我基本上可以得到IO活动的5秒快照,而不是一个完整的IO会话和。下面是我想要做的事情的一个例子:
probe vfs.read.return {
vfs_writes <<< $return
}
probe timer.s(5) {
printf("vfs_writes: %d", @sum(vfs_writes))
}我的问题是:在打印出vfs_writes的总和之后,我如何重置它(在本例中)?
发布于 2011-10-03 14:53:55
即使vfs_writes是标量,您也应该能够在其上使用“删除”。因此,以下脚本将以您希望的方式操作:
global vfs_writes
probe vfs.read.return {
vfs_writes <<< $return
}
probe timer.s(5) {
printf("vfs_writes: %d\n", @sum(vfs_writes))
delete vfs_writes
}https://serverfault.com/questions/317008
复制相似问题