ca-apm-probe
Version:
CA APM Node.js Agent monitors real-time health and performance of Node.js applications
42 lines (35 loc) • 1.59 kB
JavaScript
/**
* Copyright (c) 2015 CA. All rights reserved.
*
* This software and all information contained therein is confidential and proprietary and
* shall not be duplicated, used, disclosed or disseminated in any way except as authorized
* by the applicable license agreement, without the express written permission of CA. All
* authorized reproductions must be marked with this language.
*
* EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT
* PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS SOFTWARE WITHOUT WARRANTY
* OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL CA BE
* LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR
* INDIRECT, FROM THE USE OF THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, LOST
* PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS
* EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
*/
var sanitizers = require('./sanitizers');
exports.init = function(agent) {
agent.internal.on('metric', function(metric) {
agent.internal.send('update', sanitizers.metrics(metric));
});
agent.internal.on('counts', function(counts) {
var cooked = {};
for (var key in counts) {
cooked[key] = {count: counts[key]};
}
agent.internal.send('update', {callCounts: cooked});
});
agent.internal.on('loop',
function(loop) { agent.internal.send('update', loop); });
agent.internal.on('instances', function(stats) {
agent.internal.send('instances', stats);
});
};