Sha256: 896f9965e72a0a82c491e6c5e4dee8c58f718d33d02b0d655c025323fcf60569

Contents?: true

Size: 655 Bytes

Versions: 1

Compression:

Stored size: 655 Bytes

Contents

Struct.new("IOStat",
           :major, :minor, :dev,
           :rio, :rmerge, :rsect, :ruse,
           :wio, :wmerge, :wsect, :wuse,
           :running, :use, :aveq)

module Ganymed
  class Collector
    class IOStat < Base
      def collect!
        File.open('/proc/diskstats') do |f|
          f.each do |line|
            ios = Struct::IOStat.new(*line.strip.split(/\s+/))
            @sampler.emit(:derive, "os.iostat.#{ios.dev}.rsect", ios.rsect)
            @sampler.emit(:derive, "os.iostat.#{ios.dev}.wsect", ios.wsect)
          end
        end
      end

      def interval
        @config.interval.tap{} or 0.2
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ganymed-0.1.0 lib/ganymed/collector/iostat.rb