Sha256: 275549074ba9c044c749237e25055354d1efbf77e2c6c165865c48a76c9b7c5b
Contents?: true
Size: 1.02 KB
Versions: 11
Compression:
Stored size: 1.02 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 def initialize # Makes the unit tests happy Thread::current[:newrelic_scope_stack] = nil @stats_lock = Mutex.new @stats_hash = StatsHash.new start_sampler_thread 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
11 entries across 11 versions & 1 rubygems