Sha256: e24e6112063b48044f811c0092a672b9b3e72ad3f5ef1b42d47766355d2f01d7

Contents?: true

Size: 1.06 KB

Versions: 5

Compression:

Stored size: 1.06 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 do
  next if not File.readable?('/proc/net/dev')

  File.open('/proc/net/dev') do |file|
    file.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?

      Metriks.derive("os.net:#{ns.dev}.rbytes").mark(ns.rbytes.to_i)
      Metriks.derive("os.net:#{ns.dev}.wbytes").mark(ns.wbytes.to_i)
      Metriks.derive("os.net:#{ns.dev}.rpackets").mark(ns.rpackets.to_i)
      Metriks.derive("os.net:#{ns.dev}.wpackets").mark(ns.wpackets.to_i)
      Metriks.derive("os.net:#{ns.dev}.rerrs").mark(ns.rerrs.to_i)
      Metriks.derive("os.net:#{ns.dev}.werrs").mark(ns.werrs.to_i)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ganymed-0.5.2 lib/ganymed/collectors/network.rb
ganymed-0.5.1 lib/ganymed/collectors/network.rb
ganymed-0.5.0 lib/ganymed/collectors/network.rb
ganymed-0.4.4 lib/ganymed/collectors/network.rb
ganymed-0.4.3 lib/ganymed/collectors/network.rb