class Merb::System::PortablePoller
Public Class Methods
new(pid)
click to toggle source
# File lib/merb-core/rack/adapter/abstract.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/merb-core/rack/adapter/abstract.rb, line 8 def memory ps_int('rss') end
percent_cpu()
click to toggle source
Percentage CPU usage
# File lib/merb-core/rack/adapter/abstract.rb, line 18 def percent_cpu ps_float('%cpu') end
percent_memory()
click to toggle source
Percentage memory usage
# File lib/merb-core/rack/adapter/abstract.rb, line 13 def percent_memory ps_float('%mem') end
Private Instance Methods
ps_float(keyword)
click to toggle source
# File lib/merb-core/rack/adapter/abstract.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/merb-core/rack/adapter/abstract.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/merb-core/rack/adapter/abstract.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/merb-core/rack/adapter/abstract.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