Sha256: 98f773ebef674ee0b26407443694e9b7e7ac6b4d41a94de419f8fb400f8cd67a
Contents?: true
Size: 1.08 KB
Versions: 12
Compression:
Stored size: 1.08 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/stats_engine/metric_stats' require 'new_relic/agent/stats_engine/samplers' require 'new_relic/agent/stats_engine/transactions' require 'new_relic/agent/stats_engine/gc_profiler' require 'new_relic/agent/stats_engine/stats_hash' module NewRelic module Agent # This class handles all the statistics gathering for the agent class StatsEngine include MetricStats include Samplers include Transactions attr_accessor :metric_rules def initialize # Makes the unit tests happy NewRelic::Agent::TransactionState.get.clear_stats_scope_stack @stats_lock = Mutex.new @stats_hash = StatsHash.new @metric_rules = RulesEngine.new end # All access to the @stats_hash ivar should be funnelled through this # method to ensure thread-safety. def with_stats_lock @stats_lock.synchronize { yield } end end end end
Version data entries
12 entries across 12 versions & 1 rubygems