Sha256: 1497463f2a4486e7b5c1ba4310d43918de889d47eeff0c5a2f8c174cf1778764

Contents?: true

Size: 943 Bytes

Versions: 3

Compression:

Stored size: 943 Bytes

Contents

require 'barnes/panel'

module Barnes
  class ResourceUsage < Panel
    def initialize(sample_rate)
      super()

      require 'barnes/instruments/stopwatch'
      instrument Barnes::Instruments::Stopwatch.new

      if GC.respond_to? :enable_stats
        require 'barnes/instruments/ree_gc'
        instrument Barnes::Instruments::Ruby18GC.new
      end

      # Ruby 1.9+
      if ObjectSpace.respond_to? :count_objects
        require 'barnes/instruments/object_space_counter'
        instrument Barnes::Instruments::ObjectSpaceCounter.new
      end

      # Ruby 1.9+
      if GC.respond_to?(:stat)
        require 'barnes/instruments/ruby_gc'
        instrument Barnes::Instruments::RubyGC.new(sample_rate)
      end

      # Ruby 2.1+ with https://github.com/tmm1/gctools
      if defined? GC::OOB
        require 'barnes/instruments/gctools_oobgc'
        instrument Barnes::Instruments::GctoolsOobgc.new
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
barnes-0.0.3 lib/barnes/resource_usage.rb
barnes-0.0.2 /Users/schneems/Documents/projects/barnes/lib/barnes/resource_usage.rb
barnes-0.0.1 /Users/schneems/Documents/projects/barnes/lib/barnes/resource_usage.rb