mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
|
|
var pmx = require('pmx');
|
|
var conf = pmx.init({
|
|
http: true
|
|
});
|
|
|
|
var http = require('http');
|
|
|
|
http.createServer(function(req, res) {
|
|
res.writeHead(200);
|
|
res.end('hey');
|
|
}).listen(8000);
|
|
|
|
var Probe = pmx.probe();
|
|
|
|
var value_to_inspect = 0;
|
|
|
|
/**
|
|
* .metric, .counter, .meter, .histogram are also available (cf doc)
|
|
*/
|
|
var val = Probe.metric({
|
|
name : 'test-probe',
|
|
value : function() {
|
|
return value_to_inspect;
|
|
},
|
|
/**
|
|
* Here we set a default value threshold, to receive a notification
|
|
* These options can be overriden via Keymetrics or via pm2
|
|
* More: http://bit.ly/1O02aap
|
|
*/
|
|
alert : {
|
|
mode : 'threshold',
|
|
value : 20,
|
|
msg : 'test-probe alert!',
|
|
action : function(val) {
|
|
// Besides the automatic alert sent via Keymetrics
|
|
// You can also configure your own logic to do something
|
|
console.log('Value has reached %d', val);
|
|
}
|
|
}
|
|
});
|
|
|
|
setInterval(function() {
|
|
// Then we can see that this value increase over the time in Keymetrics
|
|
value_to_inspect++;
|
|
}, 300);
|
|
|
|
process.on('message', function(msg) {
|
|
if (msg == 'shutdown') {
|
|
console.log('Closing all connections...');
|
|
setTimeout(function() {
|
|
console.log('Finished closing connections');
|
|
process.exit(0);
|
|
}, 500);
|
|
}
|
|
});
|