Naming Prosecution Mitigator
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

memory-pressure

2.0.6 • Public • Published

memory-pressure

Event emitter related to memory usage & pressure

Install

npm install memory-pressure --save

Usage

By default, a default instance is created when requiring the module.

 
const pressure = require("memory-pressure"),
      byDefault = pressure.default,
      own = pressure.new("ownInstance", {
              memoryThreshold: 200 * 1000000, //200MB
              interval: 1000, //1sec
              stillUnderPressure: 20, //If still blocked after 20 check calls, emits `stillUnderPressure` event
              consecutiveGrowths: 5
      });
 
byDefault.on("underPressure", function (memoryUsage) { //memoryUsage is the object returned by process.memoryUsage()
    //Do some stuff to release pressure
    pressure.default.ack(); //Ready for next state (required)
});
 
byDefault.on("stillUnderPressure", function (memoryUsage) { //This event is emitted if you did not manage to release memory after `underPressure` event
    pressure.default.ack(); //Ready for next state
});
 
byDefault.on("pressureReleased", function (memoryUsage) {
    pressure.default.ack(); //Ready for next state
});
 
pressure.ownInstance.on(...,...);
 
 

Keywords

none

install

npm i memory-pressure

Downloadsweekly downloads

32

version

2.0.6

license

MIT

repository

githubgithub

last publish

collaborators

  • avatar
  • avatar