Utilities for Elastic APM
$ npm install elastic-apm-utils
Filters spans.
apmClient.addSpanFilter(apmUtils.apm.spanFilter({
// remove spans shorter than this value in ms
filterShorterThan: 10,
}));
Filters request
and response
properties.
apmClient.transactionFilter(apmUtils.apm.transactionFilter({
// completely remove non-sampled transactions
// (otherwise those are still sent to APM, just with less details)
filterNotSampled: true,
// list of request headers to keep, optional
keepRequest: [ 'referer', 'user-agent' ],
// list of response headers to keep, optional
keepResponse: [],
// list of socket properties to keep, optional
keepSocket: [],
}));
Returns an express middleware.
server.use(apmUtils.express.middleware(apmCient, {
// set remote IP address as a tag to allow filtering in Kibana
setAddress: true,
// set request origin / referrer hostname as a tag to allow filtering in Kibana
setOrigin: true,
}));
Returns a koa middleware.
router.use(apmUtils.koa.middleware(apmCient, {
// a prefix for all transaction names, only used if setRouteName = true
prefix: '',
// set remote IP address as a tag to allow filtering in Kibana
setAddress: true,
// set request origin / referrer hostname as a tag to allow filtering in Kibana
setOrigin: true,
// more accurate route names when using koa-router
setRouteName: true,
}));
Copyright (c) 2018 Martin Kolárik. Released under the MIT license.