elastic-apm-utils

    3.1.1 • Public • Published

    elastic-apm-utils

    Utilities for Elastic APM

    Installation

    $ npm install elastic-apm-utils
    

    API

    APM

    apmUtils.apm.spanFilter({ filterShorterThan })

    Filters spans.

    apmClient.addSpanFilter(apmUtils.apm.spanFilter({
        // remove spans shorter than this value in ms
        filterShorterThan: 10,
    }));

    apmUtils.apm.addTransactionFilter({ keepRequest, keepResponse, keepSocket })

    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: [], 
    }));

    Express integration

    apmUtils.express.middleware(apmClient, { setAddress, setOrigin })

    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,
    }));

    Koa integration

    apmUtils.koa.middleware(apmClient, { prefix, setAddress, setOrigin, setRouteName })

    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,
    }));

    License

    Copyright (c) 2018 Martin Kolárik. Released under the MIT license.

    Keywords

    none

    Install

    npm i elastic-apm-utils

    DownloadsWeekly Downloads

    15

    Version

    3.1.1

    License

    MIT

    Unpacked Size

    8.13 kB

    Total Files

    6

    Last publish

    Collaborators

    • martin-kolarik