Sha256: 607a7261ac9a612e4f28c9101511cbaf6f227cc9875c314f0600ea6f99fc2c31

Contents?: true

Size: 923 Bytes

Versions: 37

Compression:

Stored size: 923 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/stats_engine/metric_stats'
require 'new_relic/agent/stats_engine/samplers'
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

      attr_accessor :metric_rules

      def initialize
        @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

37 entries across 37 versions & 2 rubygems

Version Path
newrelic_rpm-3.18.1.330 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.18.0.329 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.17.2.327 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.17.1.326 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.17.0.325 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.16.3.323 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.16.2.321 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.16.1.320 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.16.0.318 lib/new_relic/agent/stats_engine.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.15.2.317 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.15.1.316 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.15.0.314 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.14.3.313 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.14.2.312 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.14.1.311 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.14.0.305 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.13.2.302 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.13.1.300 lib/new_relic/agent/stats_engine.rb
newrelic_rpm-3.13.0.299 lib/new_relic/agent/stats_engine.rb