Sha256: 0e3788f921724555287b32917e03a67a07d095064f3db582f17ed1f2dddcad17
Contents?: true
Size: 801 Bytes
Versions: 4
Compression:
Stored size: 801 Bytes
Contents
require 'heimdall_apm/metric_name' require 'heimdall_apm/metric_stats' module HeimdallApm module Visitors # Extract metrics for a given transaction # class RequestMetricsVisitor attr_reader :metrics def initialize(vault, transaction) @transaction = transaction @vault = vault @metrics = {} end def visit(segment) name = ::HeimdallApm::MetricName.new(segment.type, segment.name) @metrics[name] ||= ::HeimdallApm::MetricStats.new stat = @metrics[name] stat.update(segment.total_call_time, segment.total_exclusive_time) end def store_in_vault timestamp = @transaction.root_segment.stop_time @vault.store_transaction_metrics(@transaction, metrics) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems