12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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',(args) => {
- /*var r = {
- numberOfModules: Object.keys(context.manager.registry).length,
- numberOfListeners: context.manager.events.listeners.length,
- listeners: context.manager.events.listeners.map((l) => l.name),
- memory: process.memoryUsage()
- }
- context.with('prettyjson').do((pj) => {
- log.info(pj.render(r));
- });*/
- this.showStat();
- });
- context.on('.*:cmd:gc',(args) => {
- gc();
- });
- },
- showStat() {
- var context = this.context;
- var obj = process.memoryUsage();
- log.info("Memory Rss: " + ntokb(obj.rss)
- +" Total: " + ntokb(obj.heapTotal)
- +" Used: " + ntokb(obj.heapUsed));
- log.info(
- "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
- );
- },
- // 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;
|