Sha256: ccc4fe5b477315b3bc9546ecb98c494b061534fe3626cc7e232e5042e8363b64

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

# bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
Struct.new("NetworkStat", :dev,
           :rbytes, :rpackets, :rerrs, :rdrop, :rfifo, :rframe, :rcompressed, :rmulticast,
           :wbytes, :wpackets, :werrs, :wdrop, :wfifo, :wcolls, :wcarrier, :wcompressed)

collect(0.3) do
  return if not File.readable?('/proc/net/dev')

  File.open('/proc/net/dev') do |f|
    f.each do |line|
      next unless line =~ /:/

      ns = Struct::NetworkStat.new(*line.strip.split(/\s+/))
      ns.dev.sub!(/:$/, '')

      next if config.exclude.map {|e| Regexp.new(e).match(ns.dev)}.any?

      sampler.emit(:derive, "os.net.#{ns.dev}.rbytes", ns.rbytes)
      sampler.emit(:derive, "os.net.#{ns.dev}.wbytes", ns.wbytes)
      sampler.emit(:derive, "os.net.#{ns.dev}.rpackets", ns.rpackets)
      sampler.emit(:derive, "os.net.#{ns.dev}.wpackets", ns.wpackets)
      sampler.emit(:derive, "os.net.#{ns.dev}.rerrs", ns.rerrs)
      sampler.emit(:derive, "os.net.#{ns.dev}.werrs", ns.werrs)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ganymed-0.2.1 lib/ganymed/collectors/network.rb
ganymed-0.2.0 lib/ganymed/collectors/network.rb