All notable changes to this project will be documented in this file.
- Externally provided event listener channel (@spencerkimball)
- Nothing
- Nothing
- Reduce allocations around last failure time storage
- Use the Clock for window code as well
- Remove test data race
- Fix race condition in
state()
(@tamird)
- Nothing
- Nothing
- Nothing
- Set
Backoff.MaxElapsedTime
to 0 as default [@matope] - Use a lock when modifying
nextBackoff
- Fix goroutine leak when using timeouts [@isaldana]
- Fix window buckets that should be empty [@isaldana]
- Update backoff package, which has been renamed
- Nothing
- Nothing
- Nothing
- client.Do() was not returning the error when it timed out [@ryanmurf]
- Nothing
- Nothing
- Nothing
- Respect backoff.Stop [@bc-vincent-zhao]
- Nothing
- Nothing
- Nothing
- HTTP client was using a new panel object instead of the one it added the breaker to [@ryanmurf]
- Configurable bucket time and number [@thraxil]
- Use mock clock for test [@andreas]
- Nothing
- Nothing
- Bug in statsd bucket name documentation / example [@thraxil]
- Nothing
- Nothing
- Nothing
- Simplify Call() for rate breaker, fixing a reset bug
- Nothing
- Nothing
- Nothing
- Ensure the half opens counter resets when the breaker resets, or auto-resetting may not occur
- Failure, Sucess counts and Error Rate is now calculated over a sliding window
- Number of buckets in the window and the time the window spans are tuneable
- Nothing
- Nothing
- A race condition in Call()
- ResetCounters
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Nothing
- Error rate should return 0.0 if there have been no samples
- All circuit breakers are now a Breaker with trip semantics handled by a TripFunc
- NewConsecutiveBreaker
- NewRateBreaker
- ConsecFailures
- ErrorRate
- Success
- Successes
- Retry logic now uses cenkalti/backoff, exponential backoff by default
- Nothing
- TrippableBreaker, ThresholdBreaker, FrequencyBreaker, TimeoutBreaker; all handled by Breaker now
- NewFrequencyBreaker, replaced by NewConsecutiveBreaker
- NewTimeoutBreaker, time out semantics are now handled by Call()
- NoOp(), use a Breaker with no TripFunc instead
- Nothing
- Nothing
- Nothing
- For a FrequencyBreaker, Failures() should return the count since the duration start, even after resetting.
- Nothing
- Nothing
- Only send the reset event if the breaker was in a tripped state
- Re-export a Panels Circuits map. It's handy and if you mess it up, it's on you.
- Nothing
- Nothing
- Nothing
- This will be the public API for version 1.0.0. This project will follow semver rules.