Class: MetricsInflux::Module::SysNetStat

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

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Methods inherited from Base

inherited

Constructor Details

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

Returns a new instance of SysNetStat.



7
8
9
10
11
12
# File 'lib/metrics_influx/module/sysnetstat.rb', line 7

def initialize(config, params = {})
  @config = config
  @config['stats'] ||= %w(rx_packets rx_bytes rx_errors tx_packets tx_bytes tx_errors)
  @config['interfaces'] ||= Dir.glob('/sys/class/net/*').map { |f| File.basename f }
  @params = params
end

Instance Method Details

#sampleObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/metrics_influx/module/sysnetstat.rb', line 14

def sample
  @config['interfaces'].map do |intf|
    data = { time: Time.now.to_i }
    @config['stats'].each do |k|
      v = File.read("/sys/class/net/#{intf}/statistics/#{k}").chomp
      data["#{intf}_#{k}"] = v.to_i
    end
    data
  end
end