class TingYun::Agent::Collector::MemorySampler::Base
Public Class Methods
new()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb, line 59 def initialize @broken = false end
Public Instance Methods
can_run?()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb, line 63 def can_run? return false if @broken m = get_memory rescue nil m && m > 0 end
get_memory()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb, line 69 def get_memory raise 'Implement in the subclass' end
get_sample()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb, line 73 def get_sample return nil if @broken begin m = get_memory if m.nil? ::TingYun::Agent.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler." @broken = true end return m rescue => e ::TingYun::Agent.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler.", e @broken = true return nil end end