Class: Resilient::CircuitBreaker::Metrics::BucketRange
- Inherits:
-
Object
- Object
- Resilient::CircuitBreaker::Metrics::BucketRange
- Defined in:
- lib/resilient/circuit_breaker/metrics/bucket_range.rb
Instance Attribute Summary collapse
-
#end_bucket ⇒ Object
readonly
Returns the value of attribute end_bucket.
-
#start_bucket ⇒ Object
readonly
Returns the value of attribute start_bucket.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(start_bucket, end_bucket) ⇒ BucketRange
constructor
A new instance of BucketRange.
- #prune?(bucket) ⇒ Boolean
Constructor Details
#initialize(start_bucket, end_bucket) ⇒ BucketRange
Returns a new instance of BucketRange.
14 15 16 17 |
# File 'lib/resilient/circuit_breaker/metrics/bucket_range.rb', line 14 def initialize(start_bucket, end_bucket) @start_bucket = start_bucket @end_bucket = end_bucket end |
Instance Attribute Details
#end_bucket ⇒ Object (readonly)
Returns the value of attribute end_bucket.
12 13 14 |
# File 'lib/resilient/circuit_breaker/metrics/bucket_range.rb', line 12 def end_bucket @end_bucket end |
#start_bucket ⇒ Object (readonly)
Returns the value of attribute start_bucket.
11 12 13 |
# File 'lib/resilient/circuit_breaker/metrics/bucket_range.rb', line 11 def start_bucket @start_bucket end |
Class Method Details
.generate(timestamp, window_size, bucket_size) ⇒ Object
5 6 7 8 9 |
# File 'lib/resilient/circuit_breaker/metrics/bucket_range.rb', line 5 def self.generate(, window_size, bucket_size) end_bucket = bucket_size.bucket() start_bucket = bucket_size.bucket(end_bucket.prune_before(window_size)) bucket_range = new(start_bucket, end_bucket) end |
Instance Method Details
#prune?(bucket) ⇒ Boolean
19 20 21 |
# File 'lib/resilient/circuit_breaker/metrics/bucket_range.rb', line 19 def prune?(bucket) bucket. <= @start_bucket. end |