Class: Resilient::CircuitBreaker::Metrics::Bucket

Inherits:
Object
  • Object
show all
Defined in:
lib/resilient/circuit_breaker/metrics/bucket.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timestamp_start, timestamp_end) ⇒ Bucket

Returns a new instance of Bucket.



8
9
10
11
# File 'lib/resilient/circuit_breaker/metrics/bucket.rb', line 8

def initialize(timestamp_start, timestamp_end)
  @timestamp_start = timestamp_start
  @timestamp_end = timestamp_end
end

Instance Attribute Details

#timestamp_endObject (readonly)

Returns the value of attribute timestamp_end.



6
7
8
# File 'lib/resilient/circuit_breaker/metrics/bucket.rb', line 6

def timestamp_end
  @timestamp_end
end

#timestamp_startObject (readonly)

Returns the value of attribute timestamp_start.



5
6
7
# File 'lib/resilient/circuit_breaker/metrics/bucket.rb', line 5

def timestamp_start
  @timestamp_start
end

Instance Method Details

#include?(timestamp) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/resilient/circuit_breaker/metrics/bucket.rb', line 17

def include?(timestamp)
  timestamp >= @timestamp_start && timestamp <= @timestamp_end
end

#prune_before(window_size) ⇒ Object



13
14
15
# File 'lib/resilient/circuit_breaker/metrics/bucket.rb', line 13

def prune_before(window_size)
  @timestamp_end - window_size.seconds
end