1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

DTrace tricks and tips (1) – 打印当前系统时间

在使用DTrace时,如果想打印当前系统时间,可以借助内置变量walltimestamp。walltimestamp表示的是自从1970年1月1日0时(UTC时间)以来经过的纳秒数,那么如何把它表示成让人一目了然的形式呢?答案是借助printf。脚本如下:

dtrace -qn 'BEGIN {printf("%Y\n", walltimestamp); exit(0)}'

输出如下:

2014 May 11 19:33:01

关于这个技巧,可参考stackoveflow的帖子:http://stackoverflow.com/questions/21084922/i[……]

阅读全文

1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

函数尾调用优化(Tail-call Optimization)对DTrace return probe的影响

今天这个话题要从stackoverflow上的一个帖子(http://stackoverflow.com/questions/23254418/getaddrinfo-fails-to-resolve-address-in-hosts-file-when-using-mocha/23331397#23331397)谈起。帖子作者遇到的问题简单地说,就是DTrace输出的getaddrinfo的返回值不对:

pid$target::getaddrinfo:return
{
    printf("%d", arg1);
}

getaddrinfo的返回值应该是0或者-1,但是帖[……]

阅读全文

1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

DTrace的变量类型

要想写好DTrace脚本,了解何时选用何种类型变量是非常重要的。在这里,小编推荐DTrace大神Brendan Gregg的文章《DTrace variable types》(http://dtrace.org/blogs/brendan/2011/11/25/dtrace-variable-types/)。文章很短,值得每个人一读。小编总结了一下,就是选用变量类型的优先级是:

aggregation > clause local > thread local > scalar > associative array。

也就是说,能用aggregation存储变量最[……]

阅读全文

1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

dtrace4linux的最新信息

Dtrace4linux是一个把DTrace移植到Linux上的开源项目,它的项目主页是:https://github.com/dtrace4linux,作者是Paul D. Fox。Paul曾经在stackoverflow上针对dtrace4linux回答过一个很经典的问题(http://stackoverflow.com/questions/14375364/dtrace-on-ubuntu-how-to),有兴趣的同学可以去看一下。

在今年3月9日,Paul在blog上发布了关于dtrace4linux这个项目的最新消息(http://crtags.blogspot.com/2014/[……]

阅读全文

1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...