class Riemann::Tools::Hwmon

Attributes

devices[R]

Public Class Methods

new() click to toggle source
Calls superclass method Riemann::Tools::new
# File lib/riemann/tools/hwmon.rb, line 87
def initialize
  super

  @devices = poll_devices
end

Public Instance Methods

poll_devices() click to toggle source
# File lib/riemann/tools/hwmon.rb, line 93
def poll_devices
  res = []

  Dir['/sys/class/hwmon/hwmon[0-9]*/{in,fan,temp,curr,power,energy,humidity}[0-9]*_input'].each do |filename|
    m = filename.match(%r{/sys/class/hwmon/hwmon(\d+)/([[:alpha:]]+)(\d+)_input})
    res << Device.new(m[1].to_i, m[2].to_sym, m[3].to_i)
  end

  res
end
tick() click to toggle source
# File lib/riemann/tools/hwmon.rb, line 104
def tick
  devices.each do |device|
    report(device.report)
  end
end