我花了一些时间学习如何使用Dtrace和Ruby。然后在Ruby core中找到了2.0版的新TracePoint类。TracePoint是否在幕后使用与dtrace相同的探测器来监控ruby的执行?
发布于 2013-06-03 03:02:55
不,它们是使用ruby源代码中的一组单独的C宏来实现的。但是,大多数有DTrace探测器的地方也会调用EXEC_EVENT_HOOK (这就是TracePoint所使用的)。低级字符串和数组分配中的DTrace探测器没有对应的TracePoint挂钩。还有一个地方可以调用EXEC_EVENT_HOOK而不使用DTrace探测器(线程切换)。
请记住,TracePoint允许您执行任意拼音。这为使用TracePoint提供了更大的灵活性,但代价是比使用DTrace时具有更大的探测效果。
https://stackoverflow.com/questions/16879202
复制相似问题