Sha256: 849d7d181715235427c79329b1ed5c90f808d8f33bfe8363797e51e03466595c

Contents?: true

Size: 1002 Bytes

Versions: 6

Compression:

Stored size: 1002 Bytes

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'new_relic/agent/transaction/abstract_segment'

module NewRelic
  module Agent
    class Transaction
      class Segment < AbstractSegment
        # unscoped_metrics can be nil, a string, or array. we do this to save
        # object allocations. if allocations weren't important then we would
        # initialize it as an array that would be empty, have one item, or many items.
        attr_reader :unscoped_metrics

        def initialize name, unscoped_metrics=nil
          @unscoped_metrics = unscoped_metrics
          super name
        end

        def record_metrics
          metric_cache.record_scoped_and_unscoped name, duration, exclusive_duration
          if unscoped_metrics
            metric_cache.record_unscoped unscoped_metrics, duration, exclusive_duration
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
newrelic_rpm-3.17.2.327 lib/new_relic/agent/transaction/segment.rb
newrelic_rpm-3.17.1.326 lib/new_relic/agent/transaction/segment.rb
newrelic_rpm-3.17.0.325 lib/new_relic/agent/transaction/segment.rb
newrelic_rpm-3.16.3.323 lib/new_relic/agent/transaction/segment.rb
newrelic_rpm-3.16.2.321 lib/new_relic/agent/transaction/segment.rb
newrelic_rpm-3.16.1.320 lib/new_relic/agent/transaction/segment.rb