Method: LinuxStat::Filesystem.io_usage

Defined in:
lib/linux_stat/filesystem.rb

.io_usage(path = LinuxStat::Mounts.root, interval = 0.1) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/linux_stat/filesystem.rb', line 133

def io_usage(path = LinuxStat::Mounts.root, interval = 0.1)
  p = File.split(path)[-1]

  measure1 = LinuxStat::FS.total_io(p)
  sleep(interval)
  measure2 = LinuxStat::FS.total_io(p)

  return {} if measure1.empty? || measure2.empty?

  sector_size = LinuxStat::FS.sectors(path)
  return {} unless sector_size

  m1r = measure1[0]
  m1w = measure1[1]

  m2r = measure2[0]
  m2w = measure2[1]

  {
    read: m2r.-(m1r).*(sector_size).fdiv(interval),
    write: m2w.-(m1w).*(sector_size).fdiv(interval)
  }
end