@r_kumar84/test-nm
Version:
Monitor Native matrics like GC and Event loop stats
36 lines (29 loc) • 1.43 kB
JavaScript
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);
// });