Class Merb::System::PortablePoller
In: merb-core/lib/merb-core/rack/adapter/abstract.rb
Parent: Object

Methods

Public Class methods

[Source]

   # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 4
4:       def initialize(pid)
5:         @pid = pid
6:       end

Public Instance methods

Memory usage in kilobytes (resident set size)

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 8
 8:       def memory
 9:         ps_int('rss')
10:       end

Percentage CPU usage

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 18
18:       def percent_cpu
19:         ps_float('%cpu')
20:       end

Percentage memory usage

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 13
13:       def percent_memory
14:         ps_float('%mem')
15:       end

Private Instance methods

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 28
28:       def ps_float(keyword)
29:         `ps -o #{keyword}= -p #{@pid}`.to_f
30:       end

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 24
24:       def ps_int(keyword)
25:         `ps -o #{keyword}= -p #{@pid}`.to_i
26:       end

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 32
32:       def ps_string(keyword)
33:         `ps -o #{keyword}= -p #{@pid}`.strip
34:       end

[Source]

    # File merb-core/lib/merb-core/rack/adapter/abstract.rb, line 36
36:       def time_string_to_seconds(text)
37:         _, minutes, seconds, useconds = *text.match(/(\d+):(\d{2}).(\d{2})/)
38:         (minutes.to_i * 60) + seconds.to_i
39:       end

[Validate]