Class: SystemStats::IoStatReader

Inherits:
Object
  • Object
show all
Defined in:
lib/systemstats/iostat_reader.rb

Constant Summary collapse

IOSTAT_CMD_OSX =
'iostat -dC disk'
IOSTAT_CMD_LINUX =
'iostat -x '

Class Method Summary collapse

Class Method Details

.cpu_idle_averageObject

Returns the user Cpu average idle time percentage



76
77
78
# File 'lib/systemstats/iostat_reader.rb', line 76

def self.cpu_idle_average
  read_iostats(0)[:cpu][2]
end

.cpu_system_averageObject

Returns the system Cpu average use percentage



71
72
73
# File 'lib/systemstats/iostat_reader.rb', line 71

def self.cpu_system_average
  read_iostats(0)[:cpu][1]
end

.cpu_user_averageObject

Returns the User Cpu average percentage



66
67
68
# File 'lib/systemstats/iostat_reader.rb', line 66

def self.cpu_user_average
   read_iostats(0)[:cpu][0]
end

.disk_average_io_wait_in_millis(disk_id) ⇒ Object

Average time io requests wait to be served in milli seconds



153
154
155
156
# File 'lib/systemstats/iostat_reader.rb', line 153

def self.disk_average_io_wait_in_millis(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][8]
end

.disk_average_queue_lenght(disk_id) ⇒ Object

Average length of the disk request queue



147
148
149
150
# File 'lib/systemstats/iostat_reader.rb', line 147

def self.disk_average_queue_lenght(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][7]
end

.disk_average_request_queue_size(disk_id) ⇒ Object

Average size of the disk requests queue size



141
142
143
144
# File 'lib/systemstats/iostat_reader.rb', line 141

def self.disk_average_request_queue_size(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][6]
end

.disk_bandwidth_use_in_cpu_time_percentage(disk_id) ⇒ Object

% of CPU used during the time IO requets were being served to the device. used to detect device saturation



172
173
174
175
# File 'lib/systemstats/iostat_reader.rb', line 172

def self.disk_bandwidth_use_in_cpu_time_percentage(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][12]
end

.disk_kb_per_transfer(disk_id) ⇒ Object

Returns the user’s Kilobytes per transfer Disk id is the numeric ID in osx, disk type in linux OSX: disk0 => ‘0’, Linux => disk 0 => ‘sda’



83
84
85
86
# File 'lib/systemstats/iostat_reader.rb', line 83

def self.disk_kb_per_transfer(disk_id)
  raise_if_not_mac
  read_iostats(disk_id)[:disk][0]
end

.disk_megabytes_per_second(disk_id) ⇒ Object

Returns the current number of megabytes transfered on a disk per second Disk id is the numeric ID in osx, disk type in linux OSX: disk0 => ‘0’, Linux => disk 0 => ‘sda’



99
100
101
102
# File 'lib/systemstats/iostat_reader.rb', line 99

def self.disk_megabytes_per_second(disk_id)
  raise_if_not_mac
  read_iostats(disk_id)[:disk][2]
end

.disk_read_request_queue_merges(disk_id) ⇒ Object

Number of read requests merged into the device per second.



105
106
107
108
# File 'lib/systemstats/iostat_reader.rb', line 105

def self.disk_read_request_queue_merges(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][0]
end

.disk_read_request_wait_in_millis(disk_id) ⇒ Object

Average time read requests wait to be served in milli seconds



159
160
161
162
# File 'lib/systemstats/iostat_reader.rb', line 159

def self.disk_read_request_wait_in_millis(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][9]
end

.disk_read_sectors_per_second(disk_id) ⇒ Object

Number of sectors read on the device per second.



129
130
131
132
# File 'lib/systemstats/iostat_reader.rb', line 129

def self.disk_read_sectors_per_second(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][4]
end

.disk_reads_per_second(disk_id) ⇒ Object

Number of read requests after merge done on the device per second.



117
118
119
120
# File 'lib/systemstats/iostat_reader.rb', line 117

def self.disk_reads_per_second(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][2]
end

.disk_transfers_per_second(disk_id) ⇒ Object

Returns the number of current transfers per second for a disk Disk id is the numeric ID in osx, disk type in linux OSX: disk0 => ‘0’, Linux => disk 0 => ‘sda’



91
92
93
94
# File 'lib/systemstats/iostat_reader.rb', line 91

def self.disk_transfers_per_second(disk_id)
  raise_if_not_mac
  read_iostats(disk_id)[:disk][1]
end

.disk_write_request_queue_merges(disk_id) ⇒ Object

Number of write requests merged into the device per second.



111
112
113
114
# File 'lib/systemstats/iostat_reader.rb', line 111

def self.disk_write_request_queue_merges(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][1]
end

.disk_write_request_wait_in_millis(disk_id) ⇒ Object

Average time write requests wait to be served in milli seconds



165
166
167
168
# File 'lib/systemstats/iostat_reader.rb', line 165

def self.disk_write_request_wait_in_millis(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][10]
end

.disk_write_sectors_per_second(disk_id) ⇒ Object

Number of secotrs written on the device per second



135
136
137
138
# File 'lib/systemstats/iostat_reader.rb', line 135

def self.disk_write_sectors_per_second(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][5]
end

.disk_writes_per_second(disk_id) ⇒ Object

Number of write requests after merge done on the device per second.



123
124
125
126
# File 'lib/systemstats/iostat_reader.rb', line 123

def self.disk_writes_per_second(disk_id)
   raise_if_not_linux
   read_iostats(disk_id)[:disk][3]
end