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
Instance Method Details
#get_memory ⇒ Object
Returns the amount of resident memory this process is using in MB
122 123 124 125 126 127 128 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 122 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
130 131 132 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 130 def proc_status_file "/proc/#{$$}/status" end |
#to_s ⇒ Object
134 135 136 |
# File 'lib/new_relic/agent/samplers/memory_sampler.rb', line 134 def to_s "proc status file sampler: #{proc_status_file}" end |