Class: Metrix::Diskstats
Constant Summary collapse
- MAPPING =
{ reads_completed: 0, reads_merged: 1, sectors_read: 2, milliseconds_rea: 3, writes_completed: 4, writes_merged: 5, sectors_written: 6, milliseconds_written: 7, ios_in_progress: 8, milliseconds_io: 9, weighted_milliseconds_io: 10, }
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(data) ⇒ Diskstats
constructor
A new instance of Diskstats.
- #metrics ⇒ Object
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) ⇒ Diskstats
Returns a new instance of Diskstats.
19 20 21 22 |
# File 'lib/metrix/diskstats.rb', line 19 def initialize(data) @data = data @time = Time.now end |
Instance Method Details
#metrics ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/metrix/diskstats.rb', line 24 def metrics @data.scan(/^\s*(\d+)\s*(\d+)\s*(.*?) (.*)/).map do |(_, _, disk, rest)| next if disk.start_with?("loop") || disk.start_with?("ram") chunks = rest.split(" ").map(&:to_i) metrics = [] MAPPING.keys.each_with_index do |m, i| value = chunks.at(i) metrics << Metric.new("#{prefix}.#{m}", value, @time, disk: disk) end metrics end.flatten.compact end |