linux_stat 1.2.2 → 1.2.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/memory.rb +7 -7
- data/lib/linux_stat/mounts.rb +3 -3
- data/lib/linux_stat/net.rb +4 -4
- data/lib/linux_stat/os.rb +1 -1
- data/lib/linux_stat/process.rb +45 -23
- data/lib/linux_stat/swap.rb +4 -4
- data/lib/linux_stat/user.rb +4 -3
- data/lib/linux_stat/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b3270fb4ddf3dd436a63233d134f5fecd2ff13d7aa0d4f91b444ac65ed29b84
|
4
|
+
data.tar.gz: 8f4987b804b866eb6b0bea4a9de1a507e6529ca6188d54b0def59a7dbf74c73f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd9393533d03fbfe16599d972762aaa6d84aa737de9ceccd7a4b333a3e049742e2a088f29364203dfd5e65199c95ccc790a68d31e8c8cf6c5f6fd718dc655818
|
7
|
+
data.tar.gz: b4fbe848f72fe1d51ed8c3d8bba37aba8a1da937c4f1639503dedbb894fc8eebe6516c7c8957e88569b73362d03dfd4a60787af1c4c585fe40b73725e2f5dabe
|
data/lib/linux_stat/memory.rb
CHANGED
@@ -11,7 +11,7 @@ module LinuxStat
|
|
11
11
|
def stat
|
12
12
|
return {} unless meminfo?
|
13
13
|
|
14
|
-
memory = IO.foreach('/proc/meminfo').first(3)
|
14
|
+
memory = IO.foreach('/proc/meminfo'.freeze).first(3)
|
15
15
|
|
16
16
|
total = memory[0].split[1].to_i
|
17
17
|
available = memory[2].split[1].to_i
|
@@ -39,7 +39,7 @@ module LinuxStat
|
|
39
39
|
# It retuns an Integer but if the info is not available, it will return nil.
|
40
40
|
def total
|
41
41
|
return nil unless meminfo?
|
42
|
-
IO.foreach('/proc/meminfo').first.split[1].to_i
|
42
|
+
IO.foreach('/proc/meminfo'.freeze).first.split[1].to_i
|
43
43
|
end
|
44
44
|
|
45
45
|
##
|
@@ -49,7 +49,7 @@ module LinuxStat
|
|
49
49
|
# It retuns an Integer but if the info is not available, it will return nil
|
50
50
|
def available
|
51
51
|
return nil unless meminfo?
|
52
|
-
IO.foreach('/proc/meminfo').first(3)[-1].split[1].to_i
|
52
|
+
IO.foreach('/proc/meminfo'.freeze).first(3)[-1].split[1].to_i
|
53
53
|
end
|
54
54
|
|
55
55
|
##
|
@@ -59,7 +59,7 @@ module LinuxStat
|
|
59
59
|
# It retuns an Integer but if the info is not available, it will return nil.
|
60
60
|
def used
|
61
61
|
return nil unless meminfo?
|
62
|
-
memory = IO.foreach('/proc/meminfo').first(3)
|
62
|
+
memory = IO.foreach('/proc/meminfo'.freeze).first(3)
|
63
63
|
memory[0].split[1].to_i - memory[2].split[1].to_i
|
64
64
|
end
|
65
65
|
|
@@ -69,7 +69,7 @@ module LinuxStat
|
|
69
69
|
# It retuns an Integer but if the info is not available, it will return nil
|
70
70
|
def percent_used
|
71
71
|
return nil unless meminfo?
|
72
|
-
memory = IO.foreach('/proc/meminfo').first(3)
|
72
|
+
memory = IO.foreach('/proc/meminfo'.freeze).first(3)
|
73
73
|
total = memory[0].split[1].to_i
|
74
74
|
total.-(memory[2].split[1].to_i).*(100).fdiv(total).round(2)
|
75
75
|
end
|
@@ -80,13 +80,13 @@ module LinuxStat
|
|
80
80
|
# It retuns an Integer but if the info is not available, it will return nil
|
81
81
|
def percent_available
|
82
82
|
return nil unless meminfo?
|
83
|
-
memory = IO.foreach('/proc/meminfo').first(3)
|
83
|
+
memory = IO.foreach('/proc/meminfo'.freeze).first(3)
|
84
84
|
memory[2].split[1].to_i.*(100).fdiv(memory[0].split[1].to_i).round(2)
|
85
85
|
end
|
86
86
|
|
87
87
|
private
|
88
88
|
def meminfo?
|
89
|
-
@@readable ||= File.readable?('/proc/meminfo')
|
89
|
+
@@readable ||= File.readable?('/proc/meminfo'.freeze)
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|
data/lib/linux_stat/mounts.rb
CHANGED
@@ -209,17 +209,17 @@ module LinuxStat
|
|
209
209
|
|
210
210
|
private
|
211
211
|
def mount_readable?
|
212
|
-
@@mount_readable ||= File.readable?('/proc/mounts')
|
212
|
+
@@mount_readable ||= File.readable?('/proc/mounts'.freeze)
|
213
213
|
end
|
214
214
|
|
215
215
|
def mounts
|
216
216
|
return [] unless mount_readable?
|
217
|
-
IO.readlines('/proc/mounts').each(&:strip!)
|
217
|
+
IO.readlines('/proc/mounts'.freeze).each(&:strip!)
|
218
218
|
end
|
219
219
|
|
220
220
|
def find_root
|
221
221
|
return [] unless mount_readable?
|
222
|
-
@@root ||= IO.foreach('/proc/mounts').find { |x| x.split[1] == '/'.freeze }.split
|
222
|
+
@@root ||= IO.foreach('/proc/mounts'.freeze).find { |x| x.split[1] == '/'.freeze }.split
|
223
223
|
end
|
224
224
|
|
225
225
|
def fs_info(dev)
|
data/lib/linux_stat/net.rb
CHANGED
@@ -86,13 +86,13 @@ module LinuxStat
|
|
86
86
|
|
87
87
|
data = IO.readlines(DEV).drop(2)
|
88
88
|
indices = find_index_of_bytes
|
89
|
-
data.reject! { |x| x.strip.start_with?('lo:') }
|
89
|
+
data.reject! { |x| x.strip.start_with?('lo:'.freeze) }
|
90
90
|
r, t = data.map { |x| x.split.values_at(*indices).map(&:to_i) }.transpose.map(&:sum)
|
91
91
|
|
92
92
|
sleep(interval)
|
93
93
|
|
94
94
|
data2 = IO.readlines(DEV).drop(2)
|
95
|
-
data2.reject! { |x| x.strip.start_with?('lo:') }
|
95
|
+
data2.reject! { |x| x.strip.start_with?('lo:'.freeze) }
|
96
96
|
r2, t2 = data2.map { |x| x.split.values_at(*indices).map(&:to_i) }.transpose.map(&:sum)
|
97
97
|
|
98
98
|
# Measure the difference
|
@@ -118,8 +118,8 @@ module LinuxStat
|
|
118
118
|
|
119
119
|
r.each_with_index { |x, i|
|
120
120
|
downcased = x.downcase
|
121
|
-
h.merge!(:r => i) if downcased.start_with?('receive')
|
122
|
-
h.merge!(:t => i) if downcased.start_with?('transmit')
|
121
|
+
h.merge!(:r => i) if downcased.start_with?('receive'.freeze)
|
122
|
+
h.merge!(:t => i) if downcased.start_with?('transmit'.freeze)
|
123
123
|
}
|
124
124
|
|
125
125
|
data_0 = data.next.gsub(?|.freeze, ' %'.freeze)
|
data/lib/linux_stat/os.rb
CHANGED
@@ -52,7 +52,7 @@ module LinuxStat
|
|
52
52
|
elsif v.key?(:DISTRIB_ID)
|
53
53
|
v[:DISTRIB_ID]
|
54
54
|
elsif File.readable?('/etc/issue'.freeze)
|
55
|
-
IO.read('/etc/issue'.freeze, encoding: 'ASCII-8bit').strip
|
55
|
+
IO.read('/etc/issue'.freeze, encoding: 'ASCII-8bit'.freeze).strip
|
56
56
|
else
|
57
57
|
'Unknown'.freeze
|
58
58
|
end
|
data/lib/linux_stat/process.rb
CHANGED
@@ -6,10 +6,17 @@ module LinuxStat
|
|
6
6
|
#
|
7
7
|
# The return type is an Array of Integers.
|
8
8
|
def list
|
9
|
-
Dir['/proc/*']
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
d = Dir['/proc/*'.freeze]
|
10
|
+
ret, i = [], -1
|
11
|
+
count = d.length
|
12
|
+
|
13
|
+
while(i += 1) < count
|
14
|
+
pid = File.split(d[i])[1]
|
15
|
+
pid_i = pid.to_i
|
16
|
+
ret << pid_i if pid_i.to_s == pid
|
17
|
+
end
|
18
|
+
|
19
|
+
ret
|
13
20
|
end
|
14
21
|
|
15
22
|
##
|
@@ -17,28 +24,42 @@ module LinuxStat
|
|
17
24
|
#
|
18
25
|
# The return type is Integer.
|
19
26
|
def count
|
20
|
-
list.
|
27
|
+
list.length
|
21
28
|
end
|
22
29
|
|
23
30
|
##
|
24
31
|
# Returns all the id of processes mapped with their names as a Hash.
|
25
32
|
def names
|
26
|
-
|
33
|
+
h, i = {}, -1
|
34
|
+
|
35
|
+
l = list
|
36
|
+
count = l.length
|
37
|
+
|
38
|
+
while(i += 1) < count
|
39
|
+
x = l[i]
|
40
|
+
|
27
41
|
begin
|
28
|
-
h.merge!( x => IO.foreach(
|
29
|
-
rescue
|
30
|
-
h
|
42
|
+
h.merge!( x => IO.foreach("/proc/#{x}/status").first.split[1])
|
43
|
+
rescue StandardError
|
31
44
|
end
|
32
|
-
|
45
|
+
end
|
46
|
+
h
|
33
47
|
end
|
34
48
|
|
35
49
|
##
|
36
50
|
# Returns all the id of processes mapped with their status as a Hash.
|
37
51
|
def types
|
38
|
-
|
52
|
+
h, i = {}, -1
|
53
|
+
|
54
|
+
l = list
|
55
|
+
count = l.length
|
56
|
+
|
57
|
+
while(i += 1) < count
|
58
|
+
x = l[i]
|
59
|
+
|
39
60
|
begin
|
40
61
|
h.merge!(x =>
|
41
|
-
case IO.
|
62
|
+
case IO.foreach("/proc/#{x}/stat", ' '.freeze).first(3)[-1][0]
|
42
63
|
when ?S.freeze then :sleeping
|
43
64
|
when ?I.freeze then :idle
|
44
65
|
when ?Z.freeze then :zombie
|
@@ -46,10 +67,11 @@ module LinuxStat
|
|
46
67
|
else :unknown
|
47
68
|
end
|
48
69
|
)
|
49
|
-
rescue
|
50
|
-
h
|
70
|
+
rescue StandardError
|
51
71
|
end
|
52
|
-
|
72
|
+
end
|
73
|
+
|
74
|
+
h
|
53
75
|
end
|
54
76
|
|
55
77
|
##
|
@@ -58,8 +80,8 @@ module LinuxStat
|
|
58
80
|
def sleeping
|
59
81
|
list.select { |x|
|
60
82
|
begin
|
61
|
-
IO.
|
62
|
-
rescue
|
83
|
+
IO.foreach("/proc/#{x}/stat", ' '.freeze).first(3)[-1][0] == ?S.freeze
|
84
|
+
rescue StandardError
|
63
85
|
nil
|
64
86
|
end
|
65
87
|
}
|
@@ -71,8 +93,8 @@ module LinuxStat
|
|
71
93
|
def idle
|
72
94
|
list.select { |x|
|
73
95
|
begin
|
74
|
-
IO.
|
75
|
-
rescue
|
96
|
+
IO.foreach("/proc/#{x}/stat", ' '.freeze).first(3)[-1][0] == ?I.freeze
|
97
|
+
rescue StandardError
|
76
98
|
nil
|
77
99
|
end
|
78
100
|
}
|
@@ -84,8 +106,8 @@ module LinuxStat
|
|
84
106
|
def zombie
|
85
107
|
list.select { |x|
|
86
108
|
begin
|
87
|
-
IO.
|
88
|
-
rescue
|
109
|
+
IO.foreach("/proc/#{x}/stat", ' '.freeze).first(3)[-1][0] == ?Z.freeze
|
110
|
+
rescue StandardError
|
89
111
|
nil
|
90
112
|
end
|
91
113
|
}
|
@@ -97,8 +119,8 @@ module LinuxStat
|
|
97
119
|
def running
|
98
120
|
list.select { |x|
|
99
121
|
begin
|
100
|
-
IO.
|
101
|
-
rescue
|
122
|
+
IO.foreach("/proc/#{x}/stat", ' '.freeze).first(3)[-1][0] == ?R.freeze
|
123
|
+
rescue StandardError
|
102
124
|
nil
|
103
125
|
end
|
104
126
|
}
|
data/lib/linux_stat/swap.rb
CHANGED
@@ -8,7 +8,7 @@ module LinuxStat
|
|
8
8
|
def list
|
9
9
|
return {} unless swaps_readable?
|
10
10
|
|
11
|
-
file = IO.readlines('/proc/swaps').drop(1)
|
11
|
+
file = IO.readlines('/proc/swaps'.freeze).drop(1)
|
12
12
|
file.reduce({}) do |h, x|
|
13
13
|
name, *stats = x.strip.split
|
14
14
|
h.merge!(name => stats.map! { |v| v.to_i.to_s == v ? v.to_i : v.to_sym })
|
@@ -20,7 +20,7 @@ module LinuxStat
|
|
20
20
|
#
|
21
21
|
# If the info isn't available, it will return an empty Hash.
|
22
22
|
def any?
|
23
|
-
!!IO.foreach('/proc/swaps').
|
23
|
+
!!IO.foreach('/proc/swaps'.freeze).first(2)[1]
|
24
24
|
end
|
25
25
|
|
26
26
|
# Show aggregated used and available swap.
|
@@ -114,7 +114,7 @@ module LinuxStat
|
|
114
114
|
def read_usage
|
115
115
|
return [[], []] unless swaps_readable?
|
116
116
|
|
117
|
-
val = IO.readlines('/proc/swaps').drop(1)
|
117
|
+
val = IO.readlines('/proc/swaps'.freeze).drop(1)
|
118
118
|
return [[], []] if val.empty?
|
119
119
|
|
120
120
|
val.map! { |x|
|
@@ -123,7 +123,7 @@ module LinuxStat
|
|
123
123
|
end
|
124
124
|
|
125
125
|
def swaps_readable?
|
126
|
-
@@swaps_readable ||= File.readable?('/proc/swaps')
|
126
|
+
@@swaps_readable ||= File.readable?('/proc/swaps'.freeze)
|
127
127
|
end
|
128
128
|
end
|
129
129
|
end
|
data/lib/linux_stat/user.rb
CHANGED
@@ -55,6 +55,7 @@ module LinuxStat
|
|
55
55
|
# But if the status isn't available it will return an empty Hash.
|
56
56
|
def gids
|
57
57
|
return {} unless passwd_readable?
|
58
|
+
|
58
59
|
passwd_splitted.reduce({}) { |h, x|
|
59
60
|
h.merge!(x[0].to_sym => x[3].to_i)
|
60
61
|
}
|
@@ -103,7 +104,7 @@ module LinuxStat
|
|
103
104
|
|
104
105
|
uid, gid = LinuxStat::Sysconf.get_uid, LinuxStat::Sysconf.get_gid
|
105
106
|
|
106
|
-
username = ''
|
107
|
+
username = ''.freeze
|
107
108
|
passwd.each { |x|
|
108
109
|
splitted = x.split(?:).freeze
|
109
110
|
if splitted[2].to_i == uid && splitted[3].to_i == gid
|
@@ -187,7 +188,7 @@ module LinuxStat
|
|
187
188
|
def username_by_gid(gid = get_gid)
|
188
189
|
return ''.freeze unless passwd_readable?
|
189
190
|
|
190
|
-
username = ''
|
191
|
+
username = ''.freeze
|
191
192
|
passwd.each do |x|
|
192
193
|
splitted = x.split(?:.freeze)
|
193
194
|
if splitted[2].to_i == gid
|
@@ -314,7 +315,7 @@ module LinuxStat
|
|
314
315
|
def home_by_gid(id = get_gid)
|
315
316
|
return ''.freeze unless passwd_readable?
|
316
317
|
|
317
|
-
home = ''
|
318
|
+
home = ''.freeze
|
318
319
|
passwd.each do |x|
|
319
320
|
splitted = x.split(?:.freeze)
|
320
321
|
|
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: 1.2.
|
4
|
+
version: 1.2.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: 2020-12-
|
11
|
+
date: 2020-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Linux only, efficient linux system utilization reporting and system monitoring
|
14
14
|
gem
|