class Eye::SystemResources

Public Class Methods

cache() click to toggle source
# File lib/eye/system_resources.rb, line 51
def cache
  @cache ||= Cache.new
end
children(parent_pid) click to toggle source
# File lib/eye/system_resources.rb, line 18
def children(parent_pid)
  cache.children(parent_pid)
end
cpu(pid) click to toggle source
# File lib/eye/system_resources.rb, line 12
def cpu(pid)
  if cpu = cache.proc_cpu(pid)
    cpu.percent * 100
  end
end
cputime(pid) click to toggle source

total cpu usage in seconds

# File lib/eye/system_resources.rb, line 29
def cputime(pid)
  if cpu = cache.proc_cpu(pid)
    cpu.total.to_f / 1000
  end
end
leaf_child(pid) click to toggle source

last child in a children tree

# File lib/eye/system_resources.rb, line 36
def leaf_child(pid)
  c = children(pid)
  return if c.empty?
  c += children(c.shift) while c.size > 1
  c[0]
end
memory(pid) click to toggle source
# File lib/eye/system_resources.rb, line 8
def memory(pid)
  cache.proc_mem(pid).try(:resident)
end
resources(pid) click to toggle source
# File lib/eye/system_resources.rb, line 43
def resources(pid)
  { :memory => memory(pid),
    :cpu => cpu(pid),
    :start_time => start_time(pid),
    :pid => pid
  }
end
start_time(pid) click to toggle source
# File lib/eye/system_resources.rb, line 22
def start_time(pid) # unixtime
  if cpu = cache.proc_cpu(pid)
    cpu.start_time.to_i / 1000
  end
end