class Barnes::ResourceUsage

Public Class Methods

new(sample_rate) click to toggle source
Calls superclass method Barnes::Panel::new
# File lib/barnes/resource_usage.rb, line 28
def initialize(sample_rate)
  super()

  require 'barnes/instruments/puma_instrument'
  puma_instrument = Barnes::Instruments::PumaInstrument.new

  if puma_instrument.valid?
    instrument puma_instrument
  end

  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