cpu 0.0.1 → 0.0.2
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/CHANGES +3 -0
- data/VERSION +1 -1
- data/cpu.gemspec +2 -2
- data/lib/cpu.rb +6 -1
- data/lib/cpu/msr.rb +4 -1
- data/lib/cpu/version.rb +1 -1
- metadata +4 -4
data/CHANGES
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/cpu.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{cpu}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = [%q{Florian Frank}]
|
9
|
-
s.date = %q{2011-07-
|
9
|
+
s.date = %q{2011-07-04}
|
10
10
|
s.description = %q{Library to gather CPU information (load averages, usage, temperature) in Ruby on Linux}
|
11
11
|
s.email = %q{flori@ping.de}
|
12
12
|
s.executables = [%q{coretemp}]
|
data/lib/cpu.rb
CHANGED
@@ -5,6 +5,7 @@ require 'cpu/msr'
|
|
5
5
|
require 'cpu/load'
|
6
6
|
require 'cpu/usage_sampler'
|
7
7
|
require 'cpu/usage'
|
8
|
+
require 'cpu/version'
|
8
9
|
|
9
10
|
# This module provides (read) access to the Model Specific Registers of Intel
|
10
11
|
# CPUs on Linux.
|
@@ -121,7 +122,11 @@ module CPU
|
|
121
122
|
processors = usage(interval, &block)
|
122
123
|
processor = Processor.new -1, -1
|
123
124
|
processor.num_processors = processor.num_cores = 1
|
124
|
-
|
125
|
+
begin
|
126
|
+
processor.temperature = processors.map(&:temperature).max
|
127
|
+
rescue NoSampleDataError
|
128
|
+
processor.temperature = nil
|
129
|
+
end
|
125
130
|
processor.usage = processors.map(&:usage).inject { |s, u| s + u }
|
126
131
|
processor.usage.num_processors = processor.usage.num_cores = 1
|
127
132
|
processor.freeze
|
data/lib/cpu/msr.rb
CHANGED
@@ -17,9 +17,12 @@ module CPU
|
|
17
17
|
def initialize(processor_id)
|
18
18
|
self.class.available? or self.class.load_module
|
19
19
|
begin
|
20
|
-
|
20
|
+
name = '/dev/cpu/%d/msr' % processor_id
|
21
|
+
@io = IO.new IO.sysopen(name, 'rb')
|
21
22
|
rescue Errno::ENOENT
|
22
23
|
raise InvalidProcessorIdError, "'#{processor_id}' is not a valid processor_id on this machine"
|
24
|
+
rescue StandardError => e
|
25
|
+
raise NoSampleDataError, "could not read temperature from #{name}: #{e}"
|
23
26
|
end
|
24
27
|
end
|
25
28
|
|
data/lib/cpu/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Florian Frank
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-07-
|
18
|
+
date: 2011-07-04 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: spruz
|