Class: SystemStats::IoStatReader
- Inherits:
-
Object
- Object
- SystemStats::IoStatReader
- 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
-
.cpu_idle_average ⇒ Object
Returns the user Cpu average idle time percentage.
-
.cpu_system_average ⇒ Object
Returns the system Cpu average use percentage.
-
.cpu_user_average ⇒ Object
Returns the User Cpu average percentage.
-
.disk_average_io_wait_in_millis(disk_id) ⇒ Object
Average time io requests wait to be served in milli seconds.
-
.disk_average_queue_lenght(disk_id) ⇒ Object
Average length of the disk request queue.
-
.disk_average_request_queue_size(disk_id) ⇒ Object
Average size of the disk requests queue size.
-
.disk_bandwidth_use_in_cpu_time_percentage(disk_id) ⇒ Object
% of CPU used during the time IO requets were being served to the device.
-
.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’.
-
.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’.
-
.disk_read_request_queue_merges(disk_id) ⇒ Object
Number of read requests merged into the device per second.
-
.disk_read_request_wait_in_millis(disk_id) ⇒ Object
Average time read requests wait to be served in milli seconds.
-
.disk_read_sectors_per_second(disk_id) ⇒ Object
Number of sectors read on the device per second.
-
.disk_reads_per_second(disk_id) ⇒ Object
Number of read requests after merge done on the device per second.
-
.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’.
-
.disk_write_request_queue_merges(disk_id) ⇒ Object
Number of write requests merged into the device per second.
-
.disk_write_request_wait_in_millis(disk_id) ⇒ Object
Average time write requests wait to be served in milli seconds.
-
.disk_write_sectors_per_second(disk_id) ⇒ Object
Number of secotrs written on the device per second.
-
.disk_writes_per_second(disk_id) ⇒ Object
Number of write requests after merge done on the device per second.
Class Method Details
.cpu_idle_average ⇒ Object
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_average ⇒ Object
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_average ⇒ Object
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 |