Newman's Personal Motorcade
    Wondering what’s next for npm?Check out our public roadmap! »

    skywalking-backend-js
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.0 • Public • Published

    SkyWalking NodeJS Agent

    Sky Walking logo

    SkyWalking-NodeJS: The NodeJS Agent for Apache SkyWalking, which provides the native tracing abilities for NodeJS backend project.

    SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.

    GitHub stars Twitter Follow

    Build npm version

    Install SkyWalking NodeJS package from npmjs

    $ npm install --save skywalking-backend-js

    Set up NodeJS Agent

    SkyWalking NodeJS SDK requires SkyWalking backend (OAP) 8.0+ and NodeJS >= 10.

    import agent from 'skywalking-backend-js';
    
    agent.start();

    This will use default configurations to start the SkyWalking agent above, if you want to specify your own configurations, here are two methods.

    • Pass those values to agent.start method, such as:
    agent.start({
      serviceName: 'my-service-name',
      serviceInstance: 'my-service-instance-name',
      collectorAddress: 'my.collector.address:port',
    });

    note that all options given (including empty/null values) will override the corresponding default values, e.g. agent.start({ collectorAddress: '' }) will override the default value of collectorAddress to empty string, causing errors like DNS resolution failed.

    • Use environment variables.

    The supported environment variables are as follows:

    Environment Variable Description Default
    SW_AGENT_NAME The name of the service your-nodejs-service
    SW_AGENT_INSTANCE The name of the service instance Randomly generated
    SW_AGENT_COLLECTOR_BACKEND_SERVICES The backend OAP server address 127.0.0.1:11800
    SW_AGENT_AUTHENTICATION The authentication token to verify that the agent is trusted by the backend OAP, as for how to configure the backend, refer to the yaml. not set
    SW_AGENT_LOGGING_LEVEL The logging level, could be one of error, warn, info, debug info
    SW_AGENT_DISABLE_PLUGINS Comma-delimited list of plugins to disable in the plugins directory (e.g. "mysql", "express"). ``
    SW_IGNORE_SUFFIX The suffices of endpoints that will be ignored (not traced), comma separated .jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg
    SW_TRACE_IGNORE_PATH The paths of endpoints that will be ignored (not traced), comma separated ``
    SW_SQL_TRACE_PARAMETERS If set to 'true' then SQL query parameters will be included false
    SW_SQL_PARAMETERS_MAX_LENGTH The maximum string length of SQL parameters to log 512
    SW_MONGO_TRACE_PARAMETERS If set to 'true' then mongodb query parameters will be included false
    SW_MONGO_PARAMETERS_MAX_LENGTH The maximum string length of mongodb parameters to log 512
    SW_AGENT_MAX_BUFFER_SIZE The maximum buffer size before sending the segment data to backend '1000'

    Supported Libraries

    There are some built-in plugins that support automatic instrumentation of NodeJS libraries, the complete lists are as follows:

    Library Plugin Name
    built-in http and https module http / https
    Express express
    Axios axios
    MySQL mysql
    PostgreSQL pg
    pg-cursor pg-cursor
    MongoDB mongodb
    RabbitMQ amqplib

    Compatible Libraries

    The following are packages that have been tested to some extent and are compatible because they work through the instrumentation of an underlying package:

    Library Underlying Plugin Name
    request http / https
    request-promise http / https
    koa http / https
    mongoose mongodb

    Contact Us

    License

    Apache 2.0

    Install

    npm i skywalking-backend-js

    DownloadsWeekly Downloads

    156

    Version

    0.2.0

    License

    Apache-2.0

    Unpacked Size

    811 kB

    Total Files

    185

    Last publish

    Collaborators

    • avatar