Class: NewRelic::Agent::Samplers::MemorySampler::ProcStatus
- Defined in:
- lib/new_relic/agent/samplers/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 NewRelic::Agent::Samplers::MemorySampler::Base
Instance Method Details
#get_memory ⇒ Object
Returns the amount of resident memory this process is using in MB
142 143 144 145 146 147 148 149 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 142 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
151 152 153 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 151 def proc_status_file "/proc/#{$$}/status" end |
#to_s ⇒ Object
155 156 157 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 155 def to_s "proc status file sampler: #{proc_status_file}" end |