Package Exports
- elastic-apm-node
- elastic-apm-node/start
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (elastic-apm-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Elastic APM Node.js Agent (Alpha)
Warning: This project is currently in alpha. Use it at your own risk.
This is the official Node.js agent for Elastic APM. Read our announcement blog post for details.
If you are trying out APM and have feedback or problems, please post them on the Discuss forum.
Quick start
To run Elastic APM for your own applications make sure you have the prerequisites in place first. For details see Getting Started with Elastic APM
Now follow the documentation links below relevant to your framework or stack to get set up
Documentation
- Table of contents
- Introduction
- Get started with Express
- Get started with hapi
- Get started with Koa
- Get started with a custom Node.js stack
- Advanced Setup and Configuration
- API Reference
- Custom Transactions
- Custom Traces
- Source Map Support
- Compatibility Overview
- Troubleshooting
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.