Class: Falcore::Node::Base
- Inherits:
-
Object
- Object
- Falcore::Node::Base
- Defined in:
- lib/falcore/nodes/base.rb
Instance Method Summary collapse
- #disk_space ⇒ Integer
- #display_name ⇒ String
- #executors ⇒ Integer
- #free_memory ⇒ Integer
- #free_swap ⇒ Integer
-
#id ⇒ String
The unique ID for this node.
- #idle? ⇒ true, false
-
#initialize(data = {}) ⇒ Base
constructor
A new instance of Base.
- #inspect ⇒ Object
- #offline? ⇒ true, false
- #response_time ⇒ Integer
- #temporarily_offline? ⇒ true, false
- #temporary_space ⇒ Integer
- #to_s ⇒ Object
- #total_memory ⇒ Integer
- #total_swap ⇒ Integer
Constructor Details
#initialize(data = {}) ⇒ Base
Returns a new instance of Base.
21 22 23 |
# File 'lib/falcore/nodes/base.rb', line 21 def initialize(data = {}) @data = data.dup end |
Instance Method Details
#disk_space ⇒ Integer
74 75 76 77 |
# File 'lib/falcore/nodes/base.rb', line 74 def disk_space Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.DiskSpaceMonitor', 'size').to_i end |
#display_name ⇒ String
37 38 39 |
# File 'lib/falcore/nodes/base.rb', line 37 def display_name @data['displayName'] end |
#executors ⇒ Integer
47 48 49 |
# File 'lib/falcore/nodes/base.rb', line 47 def executors @data['numExecutors'].to_i end |
#free_memory ⇒ Integer
80 81 82 83 |
# File 'lib/falcore/nodes/base.rb', line 80 def free_memory Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.SwapSpaceMonitor', 'availablePhysicalMemory').to_i end |
#free_swap ⇒ Integer
92 93 94 95 |
# File 'lib/falcore/nodes/base.rb', line 92 def free_swap Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.SwapSpaceMonitor', 'availableSwapSpace').to_i end |
#id ⇒ String
The unique ID for this node. This is the #display_name, but any dots (.
) are substituted with dashes (-
), because dots are the delimiters for StatsD and other common dumpers.
32 33 34 |
# File 'lib/falcore/nodes/base.rb', line 32 def id "jenkins.#{display_name.gsub(/\./, '-')}" end |
#idle? ⇒ true, false
42 43 44 |
# File 'lib/falcore/nodes/base.rb', line 42 def idle? !!@data['idle'] end |
#inspect ⇒ Object
109 110 111 112 113 114 115 116 |
# File 'lib/falcore/nodes/base.rb', line 109 def inspect list = Node::Base.public_instance_methods(false) .reject { |name| [:to_s, :inspect].include?(name) } .sort .map { |name| "#{name}: #{public_send(name).inspect}" } "#<#{self.class} #{list.join(', ')}>" end |
#offline? ⇒ true, false
52 53 54 |
# File 'lib/falcore/nodes/base.rb', line 52 def offline? !!@data['offline'] end |
#response_time ⇒ Integer
62 63 64 65 |
# File 'lib/falcore/nodes/base.rb', line 62 def response_time Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.ResponseTimeMonitor', 'average').to_f end |
#temporarily_offline? ⇒ true, false
57 58 59 |
# File 'lib/falcore/nodes/base.rb', line 57 def temporarily_offline? !!@data['temporarilyOffline'] end |
#temporary_space ⇒ Integer
68 69 70 71 |
# File 'lib/falcore/nodes/base.rb', line 68 def temporary_space Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.TemporarySpaceMonitor', 'size').to_i end |
#to_s ⇒ Object
104 105 106 |
# File 'lib/falcore/nodes/base.rb', line 104 def to_s "#<#{self.class}>" end |
#total_memory ⇒ Integer
86 87 88 89 |
# File 'lib/falcore/nodes/base.rb', line 86 def total_memory Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.SwapSpaceMonitor', 'totalPhysicalMemory').to_i end |
#total_swap ⇒ Integer
98 99 100 101 |
# File 'lib/falcore/nodes/base.rb', line 98 def total_swap Util.deep_fetch(@data, 'monitorData', 'hudson.node_monitors.SwapSpaceMonitor', 'totalSwapSpace').to_i end |