Class: MetricsInflux::Module::ProcStatCpu

Inherits:
Base
  • Object
show all
Defined in:
lib/metrics_influx/module/procstatcpu.rb

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Methods inherited from Base

inherited

Constructor Details

#initialize(config, params = {}) ⇒ ProcStatCpu

Returns a new instance of ProcStatCpu.



7
8
9
10
# File 'lib/metrics_influx/module/procstatcpu.rb', line 7

def initialize(config, params = {})
  @config = config
  @params = params
end

Instance Method Details

#sampleObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/metrics_influx/module/procstatcpu.rb', line 12

def sample
  time_now = Time.now.to_i
  data = { time: time_now }
  File.readlines('/proc/stat').each do |line|
    (k,v) = line.chomp.split(/\s+/, 2)
    if k == "cpu"
      vals = v.split(/\s+/)
      %w(user nice sys idle iowait irq softirq steal guest guest_nice).each_with_index do |key,idx|
        data[key] = vals.fetch(idx, 0).to_i
      end
    end
  end
  data
end