Class: Cloudscale::Plugins::SigarNetByteInformation

Inherits:
Plugin
  • Object
show all
Defined in:
lib/cloudscale/plugins/os/sigar_net_byte_information.rb

Instance Attribute Summary

Attributes inherited from Plugin

#log, #plugins, #rest_client

Instance Method Summary collapse

Methods inherited from Plugin

inherited, plugins, remove, remove_agenInstance, reset, resetRestEndpoint

Constructor Details

#initializeSigarNetByteInformation

Returns a new instance of SigarNetByteInformation.



17
18
19
20
21
22
23
# File 'lib/cloudscale/plugins/os/sigar_net_byte_information.rb', line 17

def initialize
  super
  if is_enabled
    @sigar = Plugins::PluginPreop.instance.sigar
  end

end

Instance Method Details

#collect(agentInstanceId) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/cloudscale/plugins/os/sigar_net_byte_information.rb', line 25

def collect(agentInstanceId)
  registry = Monitor::Registry.instance
  metrics = Metrics::Agent.new
  log.info("Calling Collect on SigarNetByteInformation")
  iflist = @sigar.net_interface_list

  iflist.each do |ifname|
    ifconfig = @sigar.net_interface_config(ifname)
    if (!ifname.include?(":"))
      ifstat = @sigar.net_interface_stat(ifname)
      begin

        registry.metrics["os.network.received.bytes." + ifname] = metrics.gauge :bytes_received do
          { :value => ifstat.rx_bytes }
        end
        registry.metrics["os.network.send.bytes." + ifname] = metrics.gauge :bytes_send do
          { :value => ifstat.rx_bytes }
        end

      rescue Exception => e
        puts e
      end
    end
  end
end

#is_enabledObject



13
14
15
# File 'lib/cloudscale/plugins/os/sigar_net_byte_information.rb', line 13

def is_enabled
  true
end