UNPKG

@r_kumar84/test-nm

Version:

Monitor Native matrics like GC and Event loop stats

36 lines (29 loc) 1.43 kB
var gcstats = require('./lib/gcstats'); var eventloopstats = require('./lib/eventloopstats'); var agent = require('ca-apm-probe/lib/agent'); var logger = require("ca-apm-probe/lib/logger.js"); var metrics = require('ca-apm-probe/lib/metrics'); var metricsReporter = metrics.getReporter(); gcstats.init(agent); agent.on('poll::start', function() { if (data = eventloopstats.poll()) { agent.internal.emit('eventloop', {loop: data}); } gcstats.collectHeap(); }); // agent.internal.on('eventloop', function(value) { // if (typeof(value.loop) === 'object') { // agent.callback('loop.count', value.loop.count | 0); // agent.callback('loop.minimum', value.loop.fastest_ms | 0); // agent.callback('loop.maximum', value.loop.slowest_ms | 0); // agent.callback('loop.average', fix(value.loop.sum_ms / (value.loop.count))); // var count = value.loop.count; // var avg = value.loop.sum_ms/count; //count == 0 is handled in loop.js // metricsReporter.reportIntervalCounterMetric(resMetricPrefix + 'Event Loop Ticks Per Interval', count); // metrics.reportAvgDurationDirectMetric(resMetricPrefix + 'Event Loop Average Tick Time(ms)', avg, value.loop.fastest_ms, value.loop.slowest_ms, count); // return; // } // }); // agent.internal.on('eventloop', function(stat, value) { // return callback(stat, value); // });