class RailsMemoryBloat::RailsProcess

Attributes

pid[RW]
requests[RW]

Public Class Methods

find(pid) click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 9
def self.find(pid)
  @@instances[pid] ||= new(pid)
end
instances() click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 13
def self.instances
  @@instances.values
end
new(pid) click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 5
def initialize(pid)
  @pid = pid
  @requests = []
end

Public Instance Methods

add_request(r) click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 17
def add_request(r)
  requests << r
  requests[-1].previous = requests[-2]
end
baseline_rss() click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 29
def baseline_rss
  requests[0] && requests[0].rss
end
csv_path() click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 22
def csv_path
  "data/#{pid}.csv"
end
png_path() click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 26
def png_path
  "data/#{pid}.png"
end
rss() click to toggle source
# File lib/rails_memory_bloat/rails_process.rb, line 33
def rss
  max = requests.max{ |x| x.rss }
  max && max.rss
end