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);
const c1 = new CircuitBreaker(someFunction);
const c2 = new CircuitBreaker(someOtherfunction);
const hystrixMetrics = new HystrixStats([c1, c2]);
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);
};
}