Class: Supervision::CircuitMonitor

Inherits:
Object
  • Object
show all
Defined in:
lib/supervision/circuit_monitor.rb

Overview

A class responsible for recording circuit performance

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCircuitMonitor

Returns a new instance of CircuitMonitor.



14
15
16
17
18
19
# File 'lib/supervision/circuit_monitor.rb', line 14

def initialize
  @total_failed_calls  = Counter.new
  @total_success_calls = Counter.new
  @total_calls         = Counter.new
  @state_transitions   = Counter.new
end

Instance Attribute Details

#last_openedObject (readonly)

Timestamp for the last circuit open state



12
13
14
# File 'lib/supervision/circuit_monitor.rb', line 12

def last_opened
  @last_opened
end

#times_openedObject (readonly)

Returns the value of attribute times_opened.



7
8
9
# File 'lib/supervision/circuit_monitor.rb', line 7

def times_opened
  @times_opened
end

Instance Method Details

#measure(type) ⇒ Object



43
44
45
# File 'lib/supervision/circuit_monitor.rb', line 43

def measure(type)

end

#record_failureObject



38
39
40
41
# File 'lib/supervision/circuit_monitor.rb', line 38

def record_failure
  @total_failed_calls.increment
  @total_calls.increment
end

#record_successObject



33
34
35
36
# File 'lib/supervision/circuit_monitor.rb', line 33

def record_success
  @total_success_calls.increment
  @total_calls.increment
end

#resetnil

Reset the circuit statistics

Returns:

  • (nil)


52
53
54
55
56
# File 'lib/supervision/circuit_monitor.rb', line 52

def reset
  total_calls.clear
  total_success_calls.clear
  total_failed_calls.clear
end

#total_callsObject



21
22
23
# File 'lib/supervision/circuit_monitor.rb', line 21

def total_calls
  @total_calls.value
end

#total_failed_callsObject



29
30
31
# File 'lib/supervision/circuit_monitor.rb', line 29

def total_failed_calls
  @total_failed_calls.value
end

#total_success_callsObject



25
26
27
# File 'lib/supervision/circuit_monitor.rb', line 25

def total_success_calls
  @total_success_calls.value
end