class Eye::SystemResources::Cache

Attributes

expire[R]

Public Class Methods

new() click to toggle source
# File lib/eye/system_resources.rb, line 84
def initialize
  clear
  setup_expire
end

Public Instance Methods

children(pid) click to toggle source
# File lib/eye/system_resources.rb, line 115
def children(pid)
  if pid
    @ppids[pid] ||= Eye::Sigar.proc_list("State.Ppid.eq=#{pid}")
  else
    []
  end
end
clear() click to toggle source
# File lib/eye/system_resources.rb, line 95
def clear
  @memory = {}
  @cpu = {}
  @ppids = {}
end
proc_cpu(pid) click to toggle source
# File lib/eye/system_resources.rb, line 108
def proc_cpu(pid)
  @cpu[pid] ||= Eye::Sigar.proc_cpu(pid) if pid

rescue ArgumentError
  # when incorrect PID, just skip
end
proc_mem(pid) click to toggle source
# File lib/eye/system_resources.rb, line 101
def proc_mem(pid)
  @memory[pid] ||= Eye::Sigar.proc_mem(pid) if pid

rescue ArgumentError
  # when incorrect PID, just skip
end
setup_expire(expire = 5) click to toggle source
# File lib/eye/system_resources.rb, line 89
def setup_expire(expire = 5)
  @expire = expire
  @timer.cancel if @timer
  @timer = every(@expire) { clear }
end