pm2/examples/http.js

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);
}
});