class CpuMemoryStats::Mac
Public Instance Methods
cpu()
click to toggle source
# File lib/modules/mac.rb, line 39 def cpu stats[:cpu] end
get_stats()
click to toggle source
# File lib/modules/mac.rb, line 8 def get_stats top = `top -F -R -l 1 -n 0` output = {} output[:load_avg] = top.scan(/Load Avg:(.+),(.+),(.+)/i).flatten.collect{|i| i.strip.to_f.round(2)} cpu = top.scan(/CPU usage:\s+(.+)user,(.+)sys,(.+)idle/i).flatten.collect{|i| i.gsub("%","").strip.to_f.round(2)} output[:cpu] = Hash[[:user, :system, :idle].zip(cpu)] #fix missing columns output[:cpu][:nice] = 0 output[:cpu][:interupt] = 0 memory = top.scan(/PhysMem:\s+(.+)wired,(.+)active,(.+)inactive,(.+)used,(.+)free/i).flatten.collect{|i| i.strip} mem = Hash[[:wired, :active, :inactive, :used, :free].zip(memory)] output[:memory] = mem.inject({}) do |o,v| num = v.last.to_i o[v.first] = case v.last when /G/ then num*1024*1024*1024 when /M/ then num*1024*1024 when /K/ then num*1024 else num end o end output end
load_avg()
click to toggle source
# File lib/modules/mac.rb, line 43 def load_avg stats[:load_avg] end
memory()
click to toggle source
# File lib/modules/mac.rb, line 47 def memory stats[:memory] end
stats()
click to toggle source
# File lib/modules/mac.rb, line 35 def stats @stats ||= get_stats end