Awesome
This module is deprecated.
Hystrix Metrics for Opossum Circuit Breaker
This module provides Hystrix metrics for
opossum circuit breakers. To use
it with your circuit breakers, just pass them in to the HystrixStats
constructor.
Hystrix Dashboard Stream
A Hystrix Stream is available for use with a Hystrix Dashboard using the
HystrixStats#stream
property. This property provies a
Node.js Stream, making it straightforward
to create an Server Side Event stream that will be compliant with a Hystrix Dashboard.
Additional Reading: Hystrix Metrics Event Stream, Turbine, Hystrix Dashboard
Example Usage
This module would typically be used in an application that can provide an endpoint for the Hystrix Dashboard to monitor.
const CircuitBreaker = require('opossum');
const HystrixStats = require('opossum-hystrix');
const express = require('express');
const app = express();
app.use('/hystrix.stream', hystrixStream);
// create a couple of circuit breakers
const c1 = new CircuitBreaker(someFunction);
const c2 = new CircuitBreaker(someOtherfunction);
// Provide them to the constructor
const hystrixMetrics = new HystrixStats([c1, c2]);
// Provide a Server Side Event stream of metrics data
function hystrixStream (request, response) {
response.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive'
});
response.write('retry: 10000\n');
response.write('event: connecttime\n');
hystrixMetrics.getHystrixStream().pipe(response);
};
}