Class: Takwimu::ResourceUsage
- Defined in:
- lib/takwimu/resource_usage.rb
Instance Method Summary collapse
-
#initialize(sample_rate) ⇒ ResourceUsage
constructor
A new instance of ResourceUsage.
Methods inherited from Panel
#instrument, #instrument!, #start!
Constructor Details
#initialize(sample_rate) ⇒ ResourceUsage
Returns a new instance of ResourceUsage.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/takwimu/resource_usage.rb', line 28 def initialize(sample_rate) super() require 'takwimu/instruments/puma_backlog' backlog_reporter = Takwimu::Instruments::PumaBacklog.new if backlog_reporter.valid? instrument backlog_reporter end ## NOTE: To get passenger stats you must be running Passenger as a user with sudo access require 'takwimu/instruments/passenger_stats' passenger_stats_reporter = Takwimu::Instruments::PassengerStats.new if passenger_stats_reporter.valid? Takwimu.config.logger.debug "Takwimu.ResourceUsage.initialize - Setting up Passenger Instrumentation" if Takwimu.config.logger instrument passenger_stats_reporter end require 'takwimu/instruments/stopwatch' instrument Takwimu::Instruments::Stopwatch.new if GC.respond_to? :enable_stats require 'takwimu/instruments/ree_gc' instrument Takwimu::Instruments::Ruby18GC.new end # Ruby 1.9+ if ObjectSpace.respond_to? :count_objects require 'takwimu/instruments/object_space_counter' instrument Takwimu::Instruments::ObjectSpaceCounter.new end # Ruby 1.9+ if GC.respond_to?(:stat) require 'takwimu/instruments/ruby_gc' instrument Takwimu::Instruments::RubyGC.new(sample_rate) end # Ruby 2.1+ with https://github.com/tmm1/gctools if defined? GC::OOB require 'takwimu/instruments/gctools_oobgc' instrument Takwimu::Instruments::GctoolsOobgc.new end end |