README
APM Adapter
Summary
This is an private npm module that provides a wrapper of elastic-apm-node library. It has default configuration for elastic apm.
Usage
- Install package
npm i -S @vidaxl/apm-adapter - Use it before all of your routes and server initialization
const ApmAdapter = require('@vidaxl/apm-adapter');
const apmOptions = {
serverUrl: 'http://localhost:8200',
};
const apmAdapter = new ApmAdapter(apmOptions);
const apmMetadata = apmAdapter
.start()
.getMetadata();
if (apmMetadata.isStarted) {
console.log('APM module started. Meta:', JSON.stringify(apmMetadata, 2, 2));
}
IMPORTANT: Buy default ApmAdapter will automatically create serviceName with environment prefix from NODE_ENV env variable and name field from parent sertvice package.json where this module is used. But you can override it by adding serviceName field to ApmAdapter configurations object. In this case environment prefix also will be addend automatically.
APM Adapter API
constructor(options)- Create a instance of classApmAdapter.optionstype: Object - A configuration object forApmAdapter, it has same structure as configuration object forelastic-apm-node(full description). It has one required field:serverUrltype: String | String[] - A single link or a list of links to your Elastic APM server.
start()-ApmAdapterinstance method. Directly starts Elastic APM module and returnsApmAdapterinstance.getDefaultOptions()-ApmAdapterinstance method. Returns an object with default configuration forelastic-apm-node.getMetadata()-ApmAdapterinstance method. Returns an object with basic meta data:
{
isStarted: Boolean, // true when apm is started
adapterVersion: String, // contains version of @vidaxl/apm-adapter package
env: String, // contains value of procees.env.NODE_ENV
serviceName: String, // contains name of service as it will be displayed in Elastic APM
serverUrl: String | String[], // contains value from passed options to constructor
}
validateOptions({ serviceName, serverUrl })-ApmAdapterclass/static method. ValidatesserviceName(if it is present) andserverUrl.getApm()-ApmAdapterclass/static method. Returnselastic-apm-nodemodule object.