Class: TingYun::Agent::Collector::MemorySampler::ProcStatus
- Defined in:
- lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb
Overview
ProcStatus
A class that samples memory by reading the file /proc/$$/status, which is specific to linux
Instance Method Summary collapse
-
#get_memory ⇒ Object
Returns the amount of resident memory this process is using in MB.
- #proc_status_file ⇒ Object
- #to_s ⇒ Object
Methods inherited from Base
#can_run?, #get_sample, #initialize
Constructor Details
This class inherits a constructor from TingYun::Agent::Collector::MemorySampler::Base
Instance Method Details
#get_memory ⇒ Object
Returns the amount of resident memory this process is using in MB
118 119 120 121 122 123 124 |
# File 'lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb', line 118 def get_memory proc_status = File.open(proc_status_file, "r") {|f| f.read_nonblock(4096).strip } if proc_status =~ /RSS:\s*(\d+) kB/i return $1.to_f / 1024.0 end raise "Unable to find RSS in #{proc_status_file}" end |
#proc_status_file ⇒ Object
126 127 128 |
# File 'lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb', line 126 def proc_status_file "/proc/#{$$}/status" end |
#to_s ⇒ Object
130 131 132 |
# File 'lib/ting_yun/agent/collector/middle_ware_collector/memory_sampler.rb', line 130 def to_s "proc status file sampler: #{proc_status_file}" end |