我有一堆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 /事务的时间(由控制器执行)。
有人知道追踪这个的正确方法吗?