class ElasticAPM::Instrumenter
def update_transaction_metrics(transaction)
def update_transaction_metrics(transaction) return unless transaction.config.collect_metrics? tags = { 'transaction.name': transaction.name, 'transaction.type': transaction.type } @metrics.get(:transaction).timer( :'transaction.duration.sum.us', tags: tags, reset_on_collect: true ).update(transaction.duration) @metrics.get(:transaction).counter( :'transaction.duration.count', tags: tags, reset_on_collect: true ).inc! return unless transaction.sampled? return unless transaction.config.breakdown_metrics? @metrics.get(:breakdown).counter( :'transaction.breakdown.count', tags: tags, reset_on_collect: true ).inc! span_tags = tags.merge('span.type': 'app') @metrics.get(:breakdown).timer( :'span.self_time.sum.us', tags: span_tags, reset_on_collect: true ).update(transaction.self_time) @metrics.get(:breakdown).counter( :'span.self_time.count', tags: span_tags, reset_on_collect: true ).inc! end