Class: Metrix::Df

Inherits:
Base
  • Object
show all
Defined in:
lib/metrix/df.rb

Constant Summary collapse

MAPPING =
{
  total: 1,
  used: 2,
  available: 3,
  used_perc: 4,
}

Instance Attribute Summary

Attributes inherited from Base

#attributes, #time

Instance Method Summary collapse

Methods inherited from Base

#cast_int, ignore, #ignore_metric?, ignore_metrics, inherited, known_metrics, prefix, #prefix, set_known_metrics, set_prefix, subclasses, #tagged_metrics, #tags, #unfiltered_metrics

Constructor Details

#initialize(data) ⇒ Df

Returns a new instance of Df.



16
17
18
19
# File 'lib/metrix/df.rb', line 16

def initialize(data)
  @data = data
  @time = Time.now
end

Instance Method Details

#metricsObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/metrix/df.rb', line 21

def metrics
  metrics = []
  @data.scan(%r(^(/.*)/)).each do |(line)|
    chunks = line.split(/\s+/)
    disk = chunks.at(0)
    MAPPING.each do |key, idx|
      value = cast_int(chunks.at(idx))
      metrics << Metric.new("#{prefix}.#{key}", value, time, disk: disk)
    end
  end
  metrics
end