proc_parser 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d02762173ed67bc907bd6ef6339abfa4dc9cf7df
4
- data.tar.gz: 728440954994def2629aa26059190917358ae542
3
+ metadata.gz: 07a2ef1d3392b231a0d4399ce11e1a1322cbe0e4
4
+ data.tar.gz: ed172f75f75098efe8a744e2680d31362cc6fb68
5
5
  SHA512:
6
- metadata.gz: 5229293647075b4fa4911d5e70bbc7a4c85597c028f97855900fa4d6dd294c07c31a7142f8c54d9e67b4ae6ed15fc6aef6d312a685ffb71a02921fc4119004e7
7
- data.tar.gz: 1d3172a32f58b31b0b3cfa0412e529e2035bea4e2cdeb303235bab97a42bd94207f595a8f526a427d81c89b2ed9900587a012091009fc432cf1519799fd62956
6
+ metadata.gz: 84e2a9a0129891fc0b9e9aca5e4ed551450031307a4ff6550a5f2d1b53f20d77e0af3f92be34900b0411947d0f4155cad1a22c86804006a454a87f9d6c722211
7
+ data.tar.gz: 33f136b8c3d72125ca70c3e7fe70525396426858fc06b4eca4bf6a499634dbfd98840d29535894f5b5b0344fac963bf149ed5192144a9be80b9a6e51129aa498
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- proc_parser (0.1.0)
4
+ proc_parser (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,35 @@
1
+ module ProcParser
2
+ class Loadavg
3
+ #
4
+ # This class read load average information from the /proc/loadavg file.
5
+ #
6
+
7
+ attr_accessor :loadavg1, :loadavg5, :loadavg15, :run_queue, :total_tasks, :last_pid
8
+ @@attributes = {
9
+ loadavg1: 0,
10
+ loadavg5: 1,
11
+ loadavg15: 2,
12
+ run_queue: 3,
13
+ total_tasks: 4,
14
+ last_pid: 5,
15
+ }
16
+
17
+ def initialize(loadavg_file = '/proc/loadavg')
18
+ raise NoProcData, "This system doesn't have /proc/loadavg data." if !File.exist?(loadavg_file)
19
+
20
+ File.open(loadavg_file, 'r') do |file|
21
+ firstline = file.readline.strip.squeeze(' ').sub('/', ' ').split(' ')
22
+ raise NoProcData, 'Unknown format for /proc/loadavg' if firstline.count != 6
23
+
24
+ @@attributes.each do |attribute, index|
25
+ val = if index <= 2
26
+ firstline[index].to_f
27
+ else
28
+ firstline[index].to_i
29
+ end
30
+ instance_variable_set("@#{attribute}", val)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module ProcParser
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
data/lib/proc_parser.rb CHANGED
@@ -5,4 +5,5 @@ module ProcParser
5
5
  end
6
6
 
7
7
  require 'proc_parser/cpu_stat'
8
+ require 'proc_parser/loadavg'
8
9
  require 'proc_parser/mem_info'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proc_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Étienne Michon
@@ -76,6 +76,7 @@ files:
76
76
  - docker-compose.yml
77
77
  - lib/proc_parser.rb
78
78
  - lib/proc_parser/cpu_stat.rb
79
+ - lib/proc_parser/loadavg.rb
79
80
  - lib/proc_parser/mem_info.rb
80
81
  - lib/proc_parser/version.rb
81
82
  - proc_parser.gemspec