class God::System::PortablePoller

Public Class Methods

new(pid) click to toggle source
# File lib/god/system/portable_poller.rb, line 4
def initialize(pid)
  @pid = pid
end

Public Instance Methods

memory() click to toggle source

Memory usage in kilobytes (resident set size)

# File lib/god/system/portable_poller.rb, line 8
def memory
  ps_int('rss')
end
percent_cpu() click to toggle source

Percentage CPU usage

# File lib/god/system/portable_poller.rb, line 18
def percent_cpu
  ps_float('%cpu')
end
percent_memory() click to toggle source

Percentage memory usage

# File lib/god/system/portable_poller.rb, line 13
def percent_memory
  ps_float('%mem')
end

Private Instance Methods

ps_float(keyword) click to toggle source
# File lib/god/system/portable_poller.rb, line 28
def ps_float(keyword)
  %x`ps -o #{keyword}= -p #{@pid}`.to_f
end
ps_int(keyword) click to toggle source
# File lib/god/system/portable_poller.rb, line 24
def ps_int(keyword)
  %x`ps -o #{keyword}= -p #{@pid}`.to_i
end
ps_string(keyword) click to toggle source
# File lib/god/system/portable_poller.rb, line 32
def ps_string(keyword)
  %x`ps -o #{keyword}= -p #{@pid}`.strip
end
time_string_to_seconds(text) click to toggle source
# File lib/god/system/portable_poller.rb, line 36
def time_string_to_seconds(text)
  _, minutes, seconds, useconds = *text.match(/(\d+):(\d{2}).(\d{2})/)
  (minutes.to_i * 60) + seconds.to_i
end