node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

elastic-apm-node

Elastic APM Node.js Agent

This is the official Node.js agent for Elastic APM.

If you are trying out APM and have feedback or questions, please post them on the Discuss forum.

Build status Standard - JavaScript Style Guide

Quick start

  1. To run Elastic APM for your own applications, make sure you have the prerequisites in place first. This agent is compatible with APM Server v6.2. For details see Getting Started with Elastic APM

  2. Now follow the documentation links below relevant to your framework or stack to get set up

Documentation

Development Notes

To ease development, set the environment variable DEBUG_PAYLOAD=1 to have the agent dump the JSON payload sent to the APM Server to a temporary file on your local harddrive.

Testing

The test suite expects the databases PostgreSQL, MySQL, MongoDB, Elasticsearch and Redis to be present. The npm test command will try and start them all automatically before running the tests. This should work on OS X if the databases are all installed using Homebrew.

To run the linter without running any tests, run npm run lint. To automatically fix linting errors run npm run lint-fix.

Using Docker for Testing

Running the testsuite on Jenkins is based on docker images. You can also make use of this setup when running tests locally. Scripts are provided for different stages of testing: testing the documentation, running tests against different Node.js versions and running tests against different versions of dependencies. The scripts are tested with a minimum docker version of 17.06.2-ce. For a full overview of the supported test matrix have a look at Jenkins Configuration.

Testing Documentation

./test/script/docker/run_docs.sh

Testing against Node.js versions

./test/script/docker/run_tests.sh nodejs-version

E.g. ./test/script/docker/run_tests.sh 8

Testing Dependencies

./test/script/docker/run_tests.sh nodejs-version dependencies

E.g. ./test/script/docker/run_tests.sh 8 redis,pg

Cleanup Docker Container and Volumes

./test/script/docker/cleanup.sh

License

BSD-2-Clause


Made with ♥️ and ☕️ by Elastic and our community.