@gasket/plugin-happyfeet
Integrates with happy-feet to add application instance termination when health metrics such as memory usage enter a bad state.
Installation
npm i @gasket/plugin-happyfeet
Update your gasket
file plugin configuration:
// gasket.js
+ import pluginHappyfeet from '@gasket/plugin-happyfeet';
export default makeGasket({
plugins: [
+ pluginHappyFeet
]
});
Configuration
You can specify the various happy-feet config options in gasket.js
.
// gasket.js
export default makeGasket({
happyFeet: {
// https://github.com/asilvas/happy-feet#usage
escalationSoftLimitMin: 20, // 20s
escalationSoftLimitMax: 300, // 5min
uncaughtExceptionSoftLimit: 1,
uncaughtExceptionHardLimit: void 0,
rssSoftLimit: 0.9 * 1024 * 1024 * 1024, // ~900MB
rssHardLimit: 1.8 * 1024 * 1024 * 1024, // ~1.9GB
logOnUnhappy: true
}
});
Happy Feet for gasket has no default configuration.
Actions
getHappyFeet
This action is used to configure and get a Happy Feet instance. You can specify the various happy-feet config options in the gasketConfig or pass the config object directly to the action.
gasketConfig example
// gasket.js
export default makeGasket({
happyFeet: {
// https://github.com/asilvas/happy-feet#usage
escalationSoftLimitMin: 20, // 20s
escalationSoftLimitMax: 300, // 5min
uncaughtExceptionSoftLimit: 1,
uncaughtExceptionHardLimit: void 0,
rssSoftLimit: 0.9 * 1024 * 1024 * 1024, // ~900MB
rssHardLimit: 1.8 * 1024 * 1024 * 1024, // ~1.9GB
logOnUnhappy: true
}
});
const happy = gasket.actions.getHappyFeet();
happyConfig example
const happyConfig = {
// https://github.com/asilvas/happy-feet#usage
escalationSoftLimitMin: 20, // 20s
escalationSoftLimitMax: 300, // 5min
uncaughtExceptionSoftLimit: 1,
uncaughtExceptionHardLimit: void 0,
rssSoftLimit: 0.9 * 1024 * 1024 * 1024, // ~900MB
rssHardLimit: 1.8 * 1024 * 1024 * 1024, // ~1.9GB
logOnUnhappy: true
}
const happy = gasket.actions.getHappyFeet(happyConfig);