mool 1.0.1 → 2.0.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.
data/README.md CHANGED
@@ -40,11 +40,35 @@ It's posible get all cpu information:
40
40
  >> MoolCpu.new(0) or MoolCpu.new("0")
41
41
  #<MoolCpu:0x7f82959381a8 @nice=0.0, @gnice=0.0, @total=2.0, @irq=0.0, @usr=2.0, @guest=0.0, @iowait=0.0, @cores=2, @steal=0.0, @sys=0.0, @model_name="Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz", @idle=97.0, @cpu_name="cpu_3", @soft=0.0>
42
42
  ```
43
- ### Load-Average
43
+ ### Load-Average (V. 1.0.1)
44
44
  ```ruby
45
45
  >> MoolLoadAverage.new
46
46
  #<MoolLoadAverage:0x7f8295931c90 @total_thread_entities=638, @current_loadavg=0.08, @thread_entities_exec=2, @last_15min_loadavg=0.13, @last_pid_process_created=6264, @last_5min_loadavg=0.07>
47
47
  ```
48
+
49
+ ### System information (V. 2.0.0)
50
+ Load average:
51
+
52
+ ```ruby
53
+ >> MoolSystem.new.load_average
54
+ { :total_thread_entities => 638, :current_loadavg => 0.08, :thread_entities_exec => 2, :last_15min_loadavg => 0.13, :last_pid_process_created => 6264, :last_5min_loadavg => 0.07 }
55
+ ```
56
+
57
+ uptime:
58
+
59
+ ```ruby
60
+ >> MoolSystem.new.uptime
61
+ { :uptime_day => 4, :uptime_hour => 3, :uptime_minute => 20, :uptime_second => 10 }
62
+ ```
63
+
64
+ Kernel version:
65
+
66
+ ```ruby
67
+ >> MoolSystem.new.kernel_version
68
+ "4.6.0-1-amd64"
69
+ ```
70
+
71
+
48
72
  ### Memory
49
73
  ```ruby
50
74
  >> MoolMemory.new
@@ -0,0 +1,42 @@
1
+ class MoolSystem
2
+ attr_reader :kernel, :current_loadavg, :last_5min_loadavg, :last_15min_loadavg, :thread_entities_exec, :total_thread_entities, :last_pid_process_created, :uptime_day, :uptime_hour, :uptime_minute, :uptime_second
3
+
4
+ def initialize
5
+ @kernel = `uname -r`.chomp
6
+ load_avg = File.read("/proc/loadavg").chomp.split(" ")
7
+ @current_loadavg = load_avg[0].to_f
8
+ @last_5min_loadavg = load_avg[1].to_f
9
+ @last_15min_loadavg = load_avg[2].to_f
10
+ @thread_entities_exec = load_avg[3].split("/").first.to_i # Currently executing kernel scheduling entities
11
+ @total_thread_entities = load_avg[3].split("/").last.to_i # Number of kernel scheduling entities that currently exist on the system
12
+ @last_pid_process_created = load_avg[4].to_i
13
+ time = `cat /proc/uptime`.split(" ").first.to_f
14
+ mm, ss = time.divmod(60)
15
+ hh, mm = mm.divmod(60)
16
+ dd, hh = hh.divmod(24)
17
+ @uptime_day = dd.to_i
18
+ @uptime_hour = hh.to_i
19
+ @uptime_minute = mm.to_i
20
+ @uptime_second = ss.to_i
21
+ end
22
+
23
+ def load_average
24
+ { :current_loadavg => @current_loadavg,
25
+ :last_5min_loadavg => @last_5min_loadavg,
26
+ :last_15min_loadavg => @last_15min_loadavg,
27
+ :thread_entities_exec => @thread_entities_exec,
28
+ :total_thread_entities => @total_thread_entities,
29
+ :last_pid_process_created => @last_pid_process_created }
30
+ end
31
+
32
+ def uptime
33
+ { :day => @uptime_day,
34
+ :hour => @uptime_hour,
35
+ :minute => @uptime_minute,
36
+ :second => @uptime_second }
37
+ end
38
+
39
+ def kernel_version
40
+ @kernel
41
+ end
42
+ end
data/lib/mool/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mool
2
- VERSION = "1.0.1"
2
+ VERSION = "2.0.0"
3
3
  end
data/lib/mool.rb CHANGED
@@ -8,8 +8,7 @@ require 'mool/service'
8
8
  require 'mool/cpu'
9
9
  require 'mool/disk'
10
10
  require 'mool/memory'
11
- require 'mool/load_average'
12
-
11
+ require 'mool/system'
13
12
 
14
13
  module Mool
15
14
  BLOCK_SIZE = 512
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mool
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
- - 1
7
+ - 2
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 0
10
+ version: 2.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - g.edera
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2015-12-18 00:00:00 -03:00
19
+ date: 2016-08-01 00:00:00 -03:00
20
20
  default_executable:
21
21
  dependencies: []
22
22
 
@@ -43,6 +43,7 @@ files:
43
43
  - lib/mool/load_average.rb
44
44
  - lib/mool/memory.rb
45
45
  - lib/mool/service.rb
46
+ - lib/mool/system.rb
46
47
  - lib/mool/version.rb
47
48
  - mool.gemspec
48
49
  has_rdoc: true