Class: BaselineRedAgent::Plugin::System::Processes

Inherits:
Base
  • Object
show all
Includes:
Sys
Defined in:
lib/baseline_red_agent/plugin/system/processes.rb

Constant Summary collapse

ALLOWED_PROCESSES_REGEX =
/(ruby|puma|passenger|unicorn)/i

Instance Method Summary collapse

Methods inherited from Base

descendants

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/baseline_red_agent/plugin/system/processes.rb', line 12

def call
  items = []

  ProcTable.ps.each do |process|
    next unless process.comm =~ ALLOWED_PROCESSES_REGEX

    items << ["system.processes.rss", process.respond_to?(:pctmem) ? process.pctmem : 0,
              { "name" => "#{BaselineRedAgent.options[:host]} - #{process.comm} (#{process.pid.to_s})" ,
                "process" => {
                    "name" => process.name,
                    "pid"  => process.pid.to_s,
                    "command_line" => process.comm,
                }
              }]

    items << ["system.processes.cpu", process.respond_to?(:pctcpu) ? process.pctcpu : 0,
              { "name" => "#{BaselineRedAgent.options[:host]} - #{process.comm} (#{process.pid.to_s})",
                "process" => {
                    "name" => process.name,
                    "pid"  => process.pid.to_s,
                    "command_line" => process.comm,
                }
              }]
  end

  items
end