lockbyproc.d
位于DTraceToolkit的Locks
文件夹下,其功能是统计进程在获得“adaptive mutex
”等待时间的总和。脚本代码就一行(略去版权信息):
lockstat:::adaptive-block { @time[execname] = sum(arg1);[......]
lockbyproc.d
位于DTraceToolkit的Locks
文件夹下,其功能是统计进程在获得“adaptive mutex
”等待时间的总和。脚本代码就一行(略去版权信息):
lockstat:::adaptive-block { @time[execname] = sum(arg1);[......]
lockbydist.d
位于DTraceToolkit的Locks
文件夹下,其功能是统计进程在获得“adaptive mutex
”等待时间的分布。脚本代码就一行(略去版权信息):
lockstat:::adaptive-block { @time[execname] = quantiz[......]
syscallbypid.d
位于DTraceToolkit的Proc
文件夹下,其功能是根据进程的Process ID
,统计syscall Provider
的 probe
的信息。脚本代码如下(略去版权信息):
#pragma D option quiet
dtrace:::BEGIN
{[......]
newproc.d
位于DTraceToolkit的Proc
文件夹下,其功能是打印新执行的进程名字。脚本代码就一行(略去版权信息):
proc:::exec-success { trace(curpsinfo->pr_psargs); }
脚本代码分析如下:
监听exec-succ[......]
可以利用DTrace
的“-F
”选项显示函数之间的调用关系,这对分析代码来说是个绝对好用的工具。以下面脚本为例:
#!/usr/sbin/dtrace -Fs
pid$target:::entry,
pid$target:::return
{
}
syscall:::entry,[......]