class PiSys::Disk
Constants
- KEY
- VARIATIONS
Public Class Methods
new()
click to toggle source
Calls superclass method
PiSys::Stats::new
# File lib/pi-sys/stats/disk.rb, line 7 def initialize super(KEY, VARIATIONS) end
Public Instance Methods
fetch()
click to toggle source
Calls superclass method
PiSys::Stats#fetch
# File lib/pi-sys/stats/disk.rb, line 11 def fetch super output = fetch_io if output clean_data = output.split("\n").reject { |e| e.empty? }.map { |e| e.split(' ') } num_of_devices = (clean_data.count - 3) / 2 relevant_data = clean_data[(2+num_of_devices)..-1] STATS[KEY][:io] = [] relevant_data[1..-1].each do |data_values| new_data = {} relevant_data[0].each_with_index do |key, i| new_data[key] = data_values[i] end STATS[KEY][:io] << new_data unless new_data.empty? end end output = fetch_usage if output to_hash([KEY, :usage], output, 1) do |data| name = data[0] {name => {used: data[2], available: data[3].to_i, percentage: data[4].to_i, mounted_on: data[5]}} end STATS[KEY][:usage] = Hash[STATS[KEY][:usage].sort_by { |_, v| -v[:percentage] }] end STATS[KEY] end
Private Instance Methods
fetch_io()
click to toggle source
# File lib/pi-sys/stats/disk.rb, line 45 def fetch_io run_command('iostat -d -x 1 2') end
fetch_usage()
click to toggle source
# File lib/pi-sys/stats/disk.rb, line 49 def fetch_usage run_command('df') end