Releases: nodeshift/opossum
Rolling percentile latency, bug fixes, timeout codes
Streaming Hystrix Data
Now with more cache
Caching and the Beginning of Rolling Stats
This release introduces caching to a circuit. It's simple. Just provide { cache: true }
in your options when creating the circuit, and the circuit will cache the first successful response it gets, and always use that. You can clear the cached value by calling circuit.clearCache()
. This may be useful in situations where up-to-the-millisecond values are not required. For example, a badge icon that displays a message count may choose to cache the value, and only update it once every 5 seconds.
// The circuit will cache the message count
const circuit = circuitBreaker( getMessageCount, { cache: true } );
// reset the cache every 5 seconds
const interval = setInterval( () => circuit.clearCache, 5000 );
Rolling stats have also been introduced in this release. This replaces the existing cumulative behavior of a circuit's status, in favor of snapshots every X
milliseconds, where X
defaults to 10000, e.g. 10 seconds. This allows for rolling average calculations on important statistics for Hystrix dashboard, and is in pursuit of
#32 (but does not complete it).
Bug Fixes
- circuit should emit failure event on fallback (f2594d8)
- include the error when emitting the 'fallback event' (40eb2eb)
- promise should reject when action throws (58dab98)
- typo copy past duplicated property (54a27b9)
Features
CircuitBreakers all the way down
Summary
This release allows you to supply a CircuitBreaker
instance as the fallback function.
Also, you get a full featured browser example at examples/jquery
. Check it out.
Commits
Changelog
https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#050-2016-12-22
Full featured browser distribution
Summary
Bugs in the initial release of the browser distribution have been addressed.
Commits
Changelog
https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#040-2016-12-20
Initial browser distribution
Summary
This release contains an initial implementation of the browser distribution.
Commits
Changelog
https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#030-2016-12-16
Minor Update
Fluency
- return 'this' from CircuitBreaker.fallback (159c006)