Class: WarCorrespondent::Reporters::Linux::LoadAvg

Inherits:
WarCorrespondent::Reporter show all
Defined in:
lib/warcorrespondent/reporters/linux/loadavg.rb

Instance Attribute Summary

Attributes inherited from WarCorrespondent::Reporter

#identifier, #timeout

Instance Method Summary collapse

Methods inherited from WarCorrespondent::Reporter

#run, #update

Constructor Details

#initialize(args) ⇒ LoadAvg

Returns a new instance of LoadAvg.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/warcorrespondent/reporters/linux/loadavg.rb', line 5

def initialize(args)

  @block = Proc.new do
    File.open('/proc/loadavg','r') do |f|
      line = f.readline
      load_one_min, load_five_min, load_fivteen_min, processes = line.split
      processes_running, processes_total = processes.split('/')
      [
        {:identifier => "load:1", :type => "float", :value => load_one_min},
        {:identifier => "load:5", :type => "float", :value => load_five_min},
        {:identifier => "load:15", :type => "float", :value => load_fivteen_min},
        {:identifier => "processes:running", :type => "integer", :value => processes_running},
        {:identifier => "processes:running", :type => "integer", :value => processes_total}
      ]
    end
  end
  super(args)
end