简介
1997年,供职于Sun而现已是Solaris内核研发部高级工程师的Bryan Cantrill 和他的工作组在紧张地研究一个性能问题,他出现在刚刚提及的Sun E10000服务器。该服务器在运行基准测试时,速度永慨突然在一段时间内奇怪地降低。工作组经过六天夜以继日的工作后,终于发现了问题的根本原因。某个“愚蠢之极”的配置错误将服务器配置成了路由器。
“我很受震惊,”Cantrill 说到, “这是任何一个客户都可能碰到的问题,但是他们可不敢奢望让内核研发人员为之夜以继日地工作,编写自定义代码以弄清楚问题。我们得找出一个更好的方法。” 经过两年半的紧张研发,Cantrill和他的工作组终于研究出了这个更好的方法: Dtrace 。
特性
DTrace是过去十年中在操作系罪殃多统方面最具意义的革新之一。堡汗捉Solaris中分散着30,000多的位置指针,也叫探测器probes,DTrace可激活成千上万的探测器,记录所关注的位置指定的数据,如命中,即可从该地址显示用户进程趋趋榜或系统内核的数据,从而了解系统,包括:
1。任何函数的参数船船篮采
2。内核的钻欢求胶任记乌埋何全局变量
3。函数调用的时间(NS,十亿分之一秒,无任何其他PC/Unix在ns一级精度)
5。函数调用时运行的进程
6。产生函数调用的线程
7。统计调用次数、磁盘占用等信息
Dtrace在追踪之外,也支持对系统的采样。[1]
操作系统
除Solaris系列以外,Dtrace已先后被移植到FreeBSD、NetBSD及Mac OS X等操作系统上。