UNPKG

apminsight

Version:

monitor nodejs applications

51 lines (46 loc) 1.59 kB
var constants = require("./../../constants"); //No I18N var url = require("url"); var logger = require("./../../util/logger"); var componentName = "ELASTICSEARCH"; //No I18N var moduleInfo = { functions: [ { functionName: "Transport.prototype.request", component: componentName, trackerType: constants.esTracker, extractInfo: extractHostInfo } ] }; /* eslint-disable no-unused-vars */ function extractHostInfo(invoker, params, returnObj, tracker) { var info = {}; info.params = params; try { if ( invoker && invoker.connectionPool && invoker.connectionPool.connections && invoker.connectionPool.connections[0].url ) { var urlInfo = invoker.connectionPool.connections[0].url; info.host = urlInfo.hostname ? urlInfo.protocol + "//" + urlInfo.hostname : ""; info.port = urlInfo.port ? urlInfo.port : 80; } else if (invoker && invoker._config && invoker._config.host) { var hostInfo = invoker._config.host; var { protocol, hostname, port } = new url.URL(hostInfo); info.host = hostname ? protocol + "//" + hostname : ""; info.port = port ? port : 80; } } catch (err) { logger.error( "Error while getting the host details in Elastic search component. :: ", err ); } tracker.updateInfo(info); } /* eslint-enable no-unused-vars */ module.exports = moduleInfo;