我一直在玩SystemTap,遇到了一个问题,我无法在文档中find答案。 SystemTap语言指定可用于累积数据的“聚合”数据types。 我正在尝试编写一个脚本来聚合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聚合?
即使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 }