【发布时间】:2010-02-02 12:35:21
【问题描述】:
DTrace 是令人印象深刻的强大跟踪系统,最初来自 Solaris,但它已移植到 FreeBSD 和 Mac OSX。
DTrace 使用称为 D 的高级语言,与 AWK 或 C 不同。下面是一个示例:
io:::start
/pid == $1/
{
printf("file %s offset %d size %d block %llu\n", args[2]->fi_pathname,
args[2]->fi_offset, args[0]->b_bcount, args[0]->b_blkno);
}
使用命令行 sudo dtrace -q -s <name>.d <pid> 记录所有源自该进程的 IO。
我的问题是,是否以及如何可以从 DTrace 脚本调用自定义 C 函数,以便在跟踪过程中对跟踪数据执行高级操作。
【问题讨论】:
标签: dtrace