Sha256: 474d4a292854ddf28096807b6f0121af61631ed3f6deef7585e977f0991c094d
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
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 = nil, unscoped_metrics=nil @unscoped_metrics = unscoped_metrics super name end def record_metrics if record_scoped_metric? metric_cache.record_scoped_and_unscoped name, duration, exclusive_duration else append_unscoped_metric name end if unscoped_metrics metric_cache.record_unscoped unscoped_metrics, duration, exclusive_duration end end private def append_unscoped_metric metric if @unscoped_metrics if Array === @unscoped_metrics if unscoped_metrics.frozen? @unscoped_metrics += [name] else @unscoped_metrics << name end else @unscoped_metrics = [@unscoped_metrics, metric] end else @unscoped_metrics = metric end end def segment_complete Agent.instance.transaction_sampler.add_node_parameters params if params? end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
newrelic_rpm-4.2.0.334 | lib/new_relic/agent/transaction/segment.rb |