linux-kstat 0.2.6-universal-linux → 0.2.7-universal-linux
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +6 -0
- data/Gemfile +2 -0
- data/MANIFEST.md +1 -0
- data/README.md +6 -1
- data/Rakefile +5 -2
- data/lib/linux/kstat.rb +17 -17
- data/lib/linux-kstat.rb +2 -0
- data/linux-kstat.gemspec +13 -8
- data/spec/linux_kstat_spec.rb +17 -15
- data.tar.gz.sig +0 -0
- metadata +51 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b82d1f048b54e608c00c657ba80aaa56cb59f1419bedf75f542010d258ae19c1
|
4
|
+
data.tar.gz: c6c9974612a18126e39249b257962eae3cdaaf0f5e90693d9009360d8d3f8b5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00b1b9c55ea70c6b20bcb3db8fdb0a98ad24bda5c5caf5467049a9543a460837af3d419d0783a48c2f47b9410311b9ba4b44ace86583d7669cd2cdb659090232
|
7
|
+
data.tar.gz: 9e99699d334b264d792653444b5514662ca65c65809e07e74e3e666b294c6062aa4060874526ae2ace4fbb4616f69dfd94e7d590d949bb8ae840b498831a0d59
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 0.2.7 - 20-Apr-2024
|
2
|
+
* Rubocop updates.
|
3
|
+
* Spec updates.
|
4
|
+
* Gemspec updates.
|
5
|
+
* Documentation and other miscellaneous project updates.
|
6
|
+
|
1
7
|
## 0.2.6 - 10-Dec-2020
|
2
8
|
* Specify an rspec version for the development dependency.
|
3
9
|
* Minor updates to gemspec, Rakefile.
|
data/Gemfile
ADDED
data/MANIFEST.md
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[![Ruby](https://github.com/djberg96/linux-kstat/actions/workflows/ruby.yml/badge.svg)](https://github.com/djberg96/linux-kstat/actions/workflows/ruby.yml)
|
2
|
+
|
1
3
|
## Description
|
2
4
|
|
3
5
|
A Ruby library for gathering Linux kernel statistics out of `/proc/stat`.
|
@@ -6,6 +8,9 @@ A Ruby library for gathering Linux kernel statistics out of `/proc/stat`.
|
|
6
8
|
|
7
9
|
`gem install linux-kstat`
|
8
10
|
|
11
|
+
## Adding the trusted cert
|
12
|
+
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/linux-kstat/main/certs/djberg96_pub.pem)`
|
13
|
+
|
9
14
|
### Bundler
|
10
15
|
|
11
16
|
If you have trouble install this gem via bundler, please try this:
|
@@ -15,7 +20,7 @@ If you have trouble install this gem via bundler, please try this:
|
|
15
20
|
Then attempt to install again.
|
16
21
|
|
17
22
|
## Synopsis
|
18
|
-
```
|
23
|
+
```ruby
|
19
24
|
# require 'linux-kstat' will also work
|
20
25
|
require 'linux/kstat'
|
21
26
|
|
data/Rakefile
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rspec/core/rake_task'
|
4
|
+
require 'rubocop/rake_task'
|
4
5
|
|
5
|
-
CLEAN.include('**/*.gem', '**/*.rbc')
|
6
|
+
CLEAN.include('**/*.gem', '**/*.rbc', '**/*.lock')
|
6
7
|
|
7
8
|
namespace :gem do
|
8
9
|
desc 'Build the linux-kstat gem'
|
9
10
|
task :create => [:clean] do
|
10
11
|
require 'rubygems/package'
|
11
|
-
spec =
|
12
|
+
spec = Gem::Specification.load('linux-kstat.gemspec')
|
12
13
|
spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
|
13
14
|
Gem::Package.build(spec)
|
14
15
|
end
|
@@ -24,6 +25,8 @@ namespace :gem do
|
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
28
|
+
RuboCop::RakeTask.new
|
29
|
+
|
27
30
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
28
31
|
t.pattern = ['spec/*.rb']
|
29
32
|
end
|
data/lib/linux/kstat.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'forwardable'
|
2
4
|
|
3
5
|
# The Linux module serves as a namespace only.
|
@@ -7,7 +9,7 @@ module Linux
|
|
7
9
|
extend Forwardable
|
8
10
|
|
9
11
|
# The version of the linux-kstat library
|
10
|
-
VERSION = '0.2.
|
12
|
+
VERSION = '0.2.7'
|
11
13
|
|
12
14
|
# :stopdoc:
|
13
15
|
|
@@ -52,31 +54,29 @@ module Linux
|
|
52
54
|
def get_proc_stat_info
|
53
55
|
hash = {}
|
54
56
|
|
55
|
-
|
57
|
+
File.readlines('/proc/stat').each do |line|
|
56
58
|
info = line.split
|
57
59
|
unless info.empty?
|
58
60
|
if info.first =~ /^cpu/i
|
59
61
|
hash[info.first.to_sym] = {
|
60
|
-
:user
|
61
|
-
:nice
|
62
|
-
:system
|
63
|
-
:idle
|
64
|
-
:iowait
|
65
|
-
:irq
|
66
|
-
:softirq
|
67
|
-
:steal
|
68
|
-
:guest
|
62
|
+
:user => info[1].to_i,
|
63
|
+
:nice => info[2].to_i,
|
64
|
+
:system => info[3].to_i,
|
65
|
+
:idle => info[4].to_i,
|
66
|
+
:iowait => info[5].to_i,
|
67
|
+
:irq => info[6].to_i,
|
68
|
+
:softirq => info[7].to_i,
|
69
|
+
:steal => info[8].to_i,
|
70
|
+
:guest => info[9].to_i,
|
69
71
|
:guest_nice => info[10].to_i
|
70
72
|
}
|
73
|
+
elsif info.size > 2
|
74
|
+
hash[info.first.to_sym] = info[1..-1].map(&:to_i)
|
71
75
|
else
|
72
|
-
|
73
|
-
hash[info.first.to_sym] = info[1..-1].map{ |e| e.to_i }
|
74
|
-
else
|
75
|
-
hash[info.first.to_sym] = info[1].to_i
|
76
|
-
end
|
76
|
+
hash[info.first.to_sym] = info[1].to_i
|
77
77
|
end
|
78
78
|
end
|
79
|
-
|
79
|
+
end
|
80
80
|
|
81
81
|
hash
|
82
82
|
end
|
data/lib/linux-kstat.rb
CHANGED
data/linux-kstat.gemspec
CHANGED
@@ -2,26 +2,31 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = 'linux-kstat'
|
5
|
-
gem.version = '0.2.
|
5
|
+
gem.version = '0.2.7'
|
6
6
|
gem.license = 'Apache-2.0'
|
7
7
|
gem.author = 'Daniel J. Berger'
|
8
8
|
gem.email = 'djberg96@gmail.com'
|
9
|
-
gem.platform = Gem::Platform.new('universal-linux')
|
10
9
|
gem.homepage = 'https://github.com/djberg96/linux-kstat'
|
11
10
|
gem.summary = 'Ruby interface for Linux kernel stats in /proc/stat'
|
12
11
|
gem.test_files = Dir['spec/*_spec.rb']
|
13
12
|
gem.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
14
13
|
gem.cert_chain = ['certs/djberg96_pub.pem']
|
15
14
|
|
15
|
+
gem.add_development_dependency('rake')
|
16
|
+
gem.add_development_dependency('rubocop')
|
17
|
+
gem.add_development_dependency('rubocop-rspec')
|
16
18
|
gem.add_development_dependency('rspec', '~> 3.9')
|
17
19
|
|
20
|
+
gem.platform = Gem::Platform.new(['universal', 'linux'])
|
21
|
+
|
18
22
|
gem.metadata = {
|
19
|
-
'homepage_uri'
|
20
|
-
'bug_tracker_uri'
|
21
|
-
'changelog_uri'
|
22
|
-
'documentation_uri'
|
23
|
-
'source_code_uri'
|
24
|
-
'wiki_uri'
|
23
|
+
'homepage_uri' => 'https://github.com/djberg96/linux-kstat',
|
24
|
+
'bug_tracker_uri' => 'https://github.com/djberg96/linux-kstat/issues',
|
25
|
+
'changelog_uri' => 'https://github.com/djberg96/linux-kstat/blob/master/CHANGES.md',
|
26
|
+
'documentation_uri' => 'https://github.com/djberg96/linux-kstat/wiki',
|
27
|
+
'source_code_uri' => 'https://github.com/djberg96/linux-kstat',
|
28
|
+
'wiki_uri' => 'https://github.com/djberg96/linux-kstat/wiki',
|
29
|
+
'rubygems_mfa_required' => 'true'
|
25
30
|
}
|
26
31
|
|
27
32
|
gem.description = <<-EOF
|
data/spec/linux_kstat_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
#######################################################################
|
2
4
|
# linux_kstat_spec.rb
|
3
5
|
#
|
@@ -7,30 +9,30 @@ require 'rspec'
|
|
7
9
|
require 'linux/kstat'
|
8
10
|
|
9
11
|
describe Linux::Kstat do
|
10
|
-
let(:kstat){
|
12
|
+
let(:kstat){ described_class.new }
|
11
13
|
|
12
|
-
context
|
13
|
-
it
|
14
|
-
expect(Linux::Kstat::VERSION).to eql('0.2.
|
14
|
+
context 'constants' do
|
15
|
+
it 'defines a version constant that is set to the expected value' do
|
16
|
+
expect(Linux::Kstat::VERSION).to eql('0.2.7')
|
15
17
|
expect(Linux::Kstat::VERSION).to be_frozen
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
|
-
context
|
20
|
-
it
|
21
|
-
expect(
|
22
|
-
expect{
|
23
|
-
expect(
|
21
|
+
context 'hash access' do
|
22
|
+
it 'allows hash style key access' do
|
23
|
+
expect(kstat).to respond_to(:[])
|
24
|
+
expect{ kstat[:cpu] }.not_to raise_error
|
25
|
+
expect(kstat[:cpu].keys.size).to be(10)
|
24
26
|
end
|
25
27
|
|
26
|
-
it
|
27
|
-
expect(kstat[:cpu]).to
|
28
|
-
expect(kstat[:btime]).to
|
29
|
-
expect(kstat[:intr]).to
|
28
|
+
it 'contains the expected keys and value types' do
|
29
|
+
expect(kstat[:cpu]).to be_a(Hash)
|
30
|
+
expect(kstat[:btime]).to be_a(Numeric)
|
31
|
+
expect(kstat[:intr]).to be_a(Array)
|
30
32
|
end
|
31
33
|
|
32
|
-
it
|
33
|
-
expect{
|
34
|
+
it 'does not allow key assignment' do
|
35
|
+
expect{ kstat[:cpu] = 'test' }.to raise_error(NoMethodError)
|
34
36
|
end
|
35
37
|
end
|
36
38
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linux-kstat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: universal-linux
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
@@ -35,8 +35,50 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2024-04-20 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: rake
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rubocop
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rubocop-rspec
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
40
82
|
- !ruby/object:Gem::Dependency
|
41
83
|
name: rspec
|
42
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,6 +102,7 @@ extensions: []
|
|
60
102
|
extra_rdoc_files: []
|
61
103
|
files:
|
62
104
|
- CHANGES.md
|
105
|
+
- Gemfile
|
63
106
|
- LICENSE
|
64
107
|
- MANIFEST.md
|
65
108
|
- README.md
|
@@ -75,11 +118,12 @@ licenses:
|
|
75
118
|
metadata:
|
76
119
|
homepage_uri: https://github.com/djberg96/linux-kstat
|
77
120
|
bug_tracker_uri: https://github.com/djberg96/linux-kstat/issues
|
78
|
-
changelog_uri: https://github.com/djberg96/linux-kstat/blob/master/CHANGES
|
121
|
+
changelog_uri: https://github.com/djberg96/linux-kstat/blob/master/CHANGES.md
|
79
122
|
documentation_uri: https://github.com/djberg96/linux-kstat/wiki
|
80
123
|
source_code_uri: https://github.com/djberg96/linux-kstat
|
81
124
|
wiki_uri: https://github.com/djberg96/linux-kstat/wiki
|
82
|
-
|
125
|
+
rubygems_mfa_required: 'true'
|
126
|
+
post_install_message:
|
83
127
|
rdoc_options: []
|
84
128
|
require_paths:
|
85
129
|
- lib
|
@@ -94,8 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
138
|
- !ruby/object:Gem::Version
|
95
139
|
version: '0'
|
96
140
|
requirements: []
|
97
|
-
rubygems_version: 3.
|
98
|
-
signing_key:
|
141
|
+
rubygems_version: 3.4.19
|
142
|
+
signing_key:
|
99
143
|
specification_version: 4
|
100
144
|
summary: Ruby interface for Linux kernel stats in /proc/stat
|
101
145
|
test_files:
|
metadata.gz.sig
CHANGED
Binary file
|