【问题标题】:Does the new Tracepoint API in Ruby 2.0 use the same probes that dtrace uses?Ruby 2.0 中的新 Tracepoint API 是否使用 dtrace 使用的相同探针?
【发布时间】:2013-06-02 02:24:55
【问题描述】:

我花了一些时间学习如何使用 Dtrace 和 Ruby。然后在 Ruby 2.0 的核心中找到了新的 TracePoint 类。 TracePoint 是否使用与 dtrace 用于监视 ruby​​ 执行的相同探针?

【问题讨论】:

    标签: ruby ruby-2.0 dtrace


    【解决方案1】:

    不,它们是在 ruby​​ 源代码中使用一组单独的 C 宏实现的。然而,大多数有 DTrace 探测的地方也会调用 EXEC_EVENT_HOOK(这是 TracePoint 使用的)。在低级字符串和数组分配中存在 DTrace 探测器,它们没有相应的 TracePoint 挂钩。还有一个地方调用了 EXEC_EVENT_HOOK 而没有 DTrace 探测(线程切换)。

    请记住,TracePoint 允许您执行任意 ruby​​。这为您使用 TracePoint 提供了更大的灵活性,但代价是探测效果比使用 DTrace 时大得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多