linux_stat 2.5.2 → 2.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/linux_stat/cpu.rb +2 -2
- data/lib/linux_stat/pci.rb +2 -2
- data/lib/linux_stat/thermal.rb +38 -12
- data/lib/linux_stat/usb.rb +2 -2
- data/lib/linux_stat/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75ee9aa13037e326a0c04626cd28e0903b06372ce24344ffa38870f98dd6f0dd
|
4
|
+
data.tar.gz: d275807c8a9572fa9faaa1c562102302697f52b6a1cb36907fa71b2576c533b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bd3330e9135cffee27a82fc661462a9c94e421ee5eebe24fb322ad9241e5498bdfd84914fd58dab93481366969f414bf2aa93e9507bb967ca18a462c91fc007
|
7
|
+
data.tar.gz: 686e7f1935fea8cde6ae24624522ef642f41e21304fdae7e758f3249f3b026ea6261a77fca76bbc2f5153d1d8426f9112a1b66f124e7c3d03106c0992ca731aa
|
data/lib/linux_stat/cpu.rb
CHANGED
@@ -344,7 +344,7 @@ module LinuxStat
|
|
344
344
|
physical_cores = []
|
345
345
|
hyperthreaded = {}
|
346
346
|
|
347
|
-
return [] unless File.
|
347
|
+
return [] unless File.executable?('/sys/devices/system/cpu/'.freeze)
|
348
348
|
entries = Dir.entries('/sys/devices/system/cpu/'.freeze)
|
349
349
|
entries.delete(?..freeze)
|
350
350
|
entries.delete('..'.freeze)
|
@@ -384,7 +384,7 @@ module LinuxStat
|
|
384
384
|
def hyperthreaded_core_list
|
385
385
|
hyperthreaded = {}
|
386
386
|
|
387
|
-
return [] unless File.
|
387
|
+
return [] unless File.executable?('/sys/devices/system/cpu/'.freeze)
|
388
388
|
entries = Dir.entries('/sys/devices/system/cpu/'.freeze)
|
389
389
|
entries.delete(?..freeze)
|
390
390
|
entries.delete('..'.freeze)
|
data/lib/linux_stat/pci.rb
CHANGED
@@ -128,7 +128,7 @@ module LinuxStat
|
|
128
128
|
# Also note that if there's no info available or no PCI enabled devices, it will return an empty
|
129
129
|
# Hash.
|
130
130
|
def devices_stat(hwdata: true)
|
131
|
-
@@sys_pci_readable ||= File.
|
131
|
+
@@sys_pci_readable ||= File.executable?('/sys/bus/pci/devices/')
|
132
132
|
return devices_info(hwdata: hwdata) unless @@sys_pci_readable
|
133
133
|
|
134
134
|
Dir['/sys/bus/pci/devices/*/'.freeze].sort!.map! { |x|
|
@@ -215,7 +215,7 @@ module LinuxStat
|
|
215
215
|
# But if the information isn't available, it will return nil.
|
216
216
|
def count
|
217
217
|
@@proc_pci_readable ||= File.readable?('/proc/bus/pci/devices')
|
218
|
-
@@sys_pci_readable ||= File.
|
218
|
+
@@sys_pci_readable ||= File.executable?('/sys/bus/pci/devices/')
|
219
219
|
|
220
220
|
if @@proc_pci_readable
|
221
221
|
IO.readlines('/proc/bus/pci/devices'.freeze).length
|
data/lib/linux_stat/thermal.rb
CHANGED
@@ -64,7 +64,7 @@ module LinuxStat
|
|
64
64
|
|
65
65
|
private
|
66
66
|
def hwmon_readable?
|
67
|
-
@@hwmon_readable ||= File.
|
67
|
+
@@hwmon_readable ||= File.executable?("/sys/class/hwmon/")
|
68
68
|
end
|
69
69
|
|
70
70
|
def query_hwmon(mon, key, div = false)
|
@@ -78,20 +78,46 @@ module LinuxStat
|
|
78
78
|
|
79
79
|
while x = files[i += 1]
|
80
80
|
splitted = File.split(x)
|
81
|
-
|
82
|
-
|
83
|
-
n = splitted[-1][/.*_/]
|
81
|
+
n = splitted.pop[/.*_/]
|
82
|
+
path = File.join(splitted)
|
84
83
|
|
85
84
|
label_f = "#{path}/#{n}label"
|
86
|
-
|
85
|
+
|
86
|
+
# Some of the files may have no content
|
87
|
+
# They can also raise Errno::EIO, Errno::ENODATA as well.
|
88
|
+
label = if File.readable?(label_f)
|
89
|
+
begin
|
90
|
+
IO.read(label_f, encoding: 'ASCII-8BIT'.freeze).strip
|
91
|
+
rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
|
92
|
+
nil
|
93
|
+
end
|
94
|
+
end
|
87
95
|
|
88
96
|
temp_crit_f = "#{path}/#{n}crit"
|
89
|
-
temp_crit = File.readable?(temp_crit_f)
|
97
|
+
temp_crit = if File.readable?(temp_crit_f)
|
98
|
+
begin
|
99
|
+
IO.read(temp_crit_f, encoding: 'ASCII-8BIT'.freeze).to_i
|
100
|
+
rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
|
101
|
+
nil
|
102
|
+
end
|
103
|
+
end
|
90
104
|
|
91
105
|
temp_max_f = "#{path}/#{n}max"
|
92
|
-
temp_max = File.readable?(temp_max_f)
|
106
|
+
temp_max = if File.readable?(temp_max_f)
|
107
|
+
begin
|
108
|
+
IO.read(temp_max_f, encoding: 'ASCII-8BIT'.freeze).to_i
|
109
|
+
rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
|
110
|
+
nil
|
111
|
+
end
|
112
|
+
end
|
93
113
|
|
94
|
-
value = File.readable?(x)
|
114
|
+
value = if File.readable?(x)
|
115
|
+
begin
|
116
|
+
IO.read(x).to_i
|
117
|
+
rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
|
118
|
+
nil
|
119
|
+
end
|
120
|
+
end
|
95
121
|
|
96
122
|
if dir != path
|
97
123
|
dir = path
|
@@ -100,17 +126,17 @@ module LinuxStat
|
|
100
126
|
end
|
101
127
|
|
102
128
|
if div
|
103
|
-
value /= 1000.0
|
129
|
+
value /= 1000.0 if value
|
104
130
|
temp_max /= 1000.0 if temp_max
|
105
131
|
temp_crit /= 1000.0 if temp_crit
|
106
132
|
end
|
107
133
|
|
108
134
|
h = {path: path, name: name}
|
109
135
|
|
110
|
-
h.store(:label, label)
|
136
|
+
h.store(:label, label)
|
111
137
|
h.store(key, value)
|
112
|
-
h.store(:temp_crit, temp_crit)
|
113
|
-
h.store(:temp_crit, temp_max)
|
138
|
+
h.store(:temp_crit, temp_crit)
|
139
|
+
h.store(:temp_crit, temp_max)
|
114
140
|
|
115
141
|
ret.push(h)
|
116
142
|
end
|
data/lib/linux_stat/usb.rb
CHANGED
@@ -47,7 +47,7 @@ module LinuxStat
|
|
47
47
|
# Also note that if there's no info available or no USB devices, it will return an empty
|
48
48
|
# Hash.
|
49
49
|
def devices_stat(hwdata: true)
|
50
|
-
@@sys_usb_readable ||= File.
|
50
|
+
@@sys_usb_readable ||= File.executable?('/sys/bus/usb/devices/')
|
51
51
|
return [] unless @@sys_usb_readable
|
52
52
|
|
53
53
|
Dir['/sys/bus/usb/devices/*/'.freeze].sort!.map! { |x|
|
@@ -137,7 +137,7 @@ module LinuxStat
|
|
137
137
|
#
|
138
138
|
# But if the information isn't available, it will return nil.
|
139
139
|
def count
|
140
|
-
@@sys_usb_readable ||= File.
|
140
|
+
@@sys_usb_readable ||= File.executable?('/sys/bus/usb/devices/')
|
141
141
|
return nil unless @@sys_usb_readable
|
142
142
|
|
143
143
|
Dir['/sys/bus/usb/devices/*/'.freeze].count { |x|
|
data/lib/linux_stat/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linux_stat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sourav Goswami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Linux only, efficient linux system utilization reporting and system monitoring
|
14
14
|
gem
|
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
|
-
rubygems_version: 3.
|
93
|
+
rubygems_version: 3.3.8
|
94
94
|
signing_key:
|
95
95
|
specification_version: 4
|
96
96
|
summary: Efficient linux system reporting gem
|