class ServState::CpuUsage
Attributes
usage[R]
Public Class Methods
new()
click to toggle source
# File lib/ServState/cpu_usage.rb, line 20 def initialize @old = Hash.new @old[:cpu_usage], @old[:cpu_usage_total] = proc_stat_values @usage = 0 sleep 1 end
Public Instance Methods
update()
click to toggle source
# File lib/ServState/cpu_usage.rb, line 6 def update usage, total = proc_stat_values usage_diff = usage - @old[:cpu_usage] total_diff = total - @old[:cpu_usage_total] @old[:cpu_usage] = usage @old[:cpu_usage_total] = total @usage = ((usage_diff / total_diff.to_f) * 100).to_i end
Private Instance Methods
proc_stat_values()
click to toggle source
# File lib/ServState/cpu_usage.rb, line 27 def proc_stat_values stat_line = IO.readlines('/proc/stat').grep(/^cpu /).first.split stat_values = stat_line.map{ |element| element.to_i } total = stat_values.inject(:+) usage = stat_values[1..3].inject(:+) [usage, total] end