class Solanum::Source::Load

Constants

STAT_FILE

Attributes

load_states[R]

Public Class Methods

new(opts) click to toggle source
Calls superclass method Solanum::Source::new
# File lib/solanum/source/load.rb, line 10
def initialize(opts)
  super(opts)
  @load_states = opts['load_states'] || {}
end

Public Instance Methods

collect!() click to toggle source
# File lib/solanum/source/load.rb, line 16
def collect!
  events = []

  loadavg = File.read(STAT_FILE).chomp.split(' ')

  load1m = loadavg[0].to_f

  events << {
    service: 'process load',
    metric: load1m,
    state: state_over(@load_states, load1m),
  }

  running, count = *loadavg[3].split('/')

  events << {
    service: 'process running',
    metric: running.to_i,
  }

  events << {
    service: 'process count',
    metric: count.to_i,
  }

  events
end