class ElasticAPM::Transaction
def span(name, type = nil, backtrace: nil, context: nil)
def span(name, type = nil, backtrace: nil, context: nil) unless sampled? return yield if block_given? return end if spans.length >= instrumenter.config.transaction_max_spans @dropped_spans += 1 return yield if block_given? return end span = build_and_start_span(name, type, context, backtrace) return span unless block_given? begin result = yield span ensure span.done end result end