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
|