123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- var log = require('hlogger').createLogger("monitor");
- function ntokb(n) {
- var suffix = ["B","KB","MB","GB"];
- var si = 0;
- while( n> 1024 && si< suffix.length) {
- n/=1024;
- si++;
- }
- return n.toFixed(2) + " " +suffix[si];
- }
- var monitor = {
- bundleStart(context) {
- this.context = context;
- log.info("Bundle monitor started");
- this.registerCommands(context);
- context.on('hci-config', (config) => {
- context.on(config,"start",function() {
- config.test();
- });
- });
- },
- registerCommands(context) {
- // listen from command from ourselves
- context.on('.*:cmd:stat',(req,res,e) => {
- this.showStat(res); // Should pass stdout
- });
- context.on('.*:cmd:gc',(req,res,e) => {
- gc();
- });
- },
- showStat(res) {
- var context = this.context;
- var obj = process.memoryUsage();
- if(res == undefined) res = process.stdout;
- res.write("Memory Rss: " + ntokb(obj.rss)
- +" Total: " + ntokb(obj.heapTotal)
- +" Used: " + ntokb(obj.heapUsed) +"\n");
- res.write("Events: " + context.manager.events.listeners.length + "\n");
- // Weird?
- res.write("Modules registered: " + context.manager.stat.modulesRegistered
- +" Modules UnRegistered: " + context.manager.stat.modulesUnRegistered
- +" events emitted: " + context.manager.events.stat.emitted
- +" events called: " + context.manager.events.stat.called
- +" events tried: " + context.manager.events.stat.tried + "\n");
- },
- // Human readable stat
- getStat() {
- var obj = {};
- var mem = process.memoryUsage();
- obj.mem = {
- rss: ntokb(mem.rss),
- heapTotal: ntokb(mem.heapTotal),
- heapUsed: ntokb(mem.heapUsed),
- }
- return obj;
- }
- };
- module.exports = monitor;
|