Class: Amigo::Autoscaler::Checkers::Chain
- Inherits:
-
Amigo::Autoscaler::Checker
- Object
- Amigo::Autoscaler::Checker
- Amigo::Autoscaler::Checkers::Chain
- Defined in:
- lib/amigo/autoscaler/checkers/chain.rb
Instance Attribute Summary collapse
-
#chain ⇒ Object
Returns the value of attribute chain.
Instance Method Summary collapse
- #get_latencies ⇒ Object
- #get_pool_usage ⇒ Object
-
#initialize(chain) ⇒ Chain
constructor
Chain multiple checkers together.
Constructor Details
#initialize(chain) ⇒ Chain
Chain multiple checkers together. Latencies are merged, with the highest latency winning. Pool usage has the highest take precedence.
15 16 17 18 |
# File 'lib/amigo/autoscaler/checkers/chain.rb', line 15 def initialize(chain) @chain = chain super() end |
Instance Attribute Details
#chain ⇒ Object
Returns the value of attribute chain.
9 10 11 |
# File 'lib/amigo/autoscaler/checkers/chain.rb', line 9 def chain @chain end |
Instance Method Details
#get_latencies ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/amigo/autoscaler/checkers/chain.rb', line 20 def get_latencies h = {} @chain.each do |c| c.get_latencies.each do |k, v| h[k] = [h[k], v].compact.max end end return h end |
#get_pool_usage ⇒ Object
30 31 32 |
# File 'lib/amigo/autoscaler/checkers/chain.rb', line 30 def get_pool_usage return @chain.map(&:get_pool_usage).compact.max end |