如何在newrelic上跟踪ruby lambda / proc调用?

时间:2017-05-16 01:20:05

标签: ruby-on-rails ruby newrelic proc

我有一堆lambda调用,让我们说:

transactions = []
transactions << [:do_something, ->(input) { ... }]
transactions << [:do_something_else, ->(input) { ... }]

transactions.each { |(name, transaction)| transaction.call(input) }

我想在每次通话时获得指标(时间)作为请求的一部分(这是在轨道BTW之上)。

我和MethodTracer一起玩过,比如:

transactions.each do |(name, transaction)|
  NewRelic::Agent::MethodTracer.trace_execution_scoped(name) do
    transaction.call(input)
  end
end

但是我不太确定我在newrelic上看到的数据是正确的,因为我看到控制器上的时序小于某些lambda /事务的时间(由控制器执行)。

有人知道追踪这个的正确方法吗?

0 个答案:

没有答案