This Nuxt module provides a better integration with New Relic.
- Naming transactions based on the path of the request
- Providing newrelic agent with error objects
npx nuxi module add nuxt-newrelic
npm run build
- Create and copy a New Relic licence key here and decide on a app name.
There are two ways to configure the newrelic agent:
Set the NEW_RELIC_APP_NAME
and NEW_RELIC_LICENSE_KEY
ENV variables so that node has access to them.
cp node_modules/newrelic/newrelic.js ./newrelic.cjs
- In the new file
newrelic.cjs
setapp_name
andlicense_key
accordingly.
You can also mix the two approaches. You could configure the agent in newrelic.cjs
and just set the licence key using a ENV variable.
Run our application using one of the following options:
Test your setup by providing the ENV variables direclty when runing node:
NEW_RELIC_LICENSE_KEY=XXXXXX NEW_RELIC_APP_NAME=APPNAME node --experimental-loader newrelic/esm-loader.mjs -r newrelic .output/server/index.mjs
You can use this to test your setup locally.
Set the env variables so that they are available to node and run.
node --experimental-loader newrelic/esm-loader.mjs -r newrelic .output/server/index.mjs
This is recommended to use in production.
- Currently only works when using newrelic like recommended way of installing the newrelic agent by running nuxt using something like
node -r newrelic ./.output/server/index.mjs
- The
--experimental-loader newrelic/esm-loader.mjs
flag is required, since we need toimport
the newrelic agent. That is needed according to the docs.
- Instrument Nuxt
- Source maps
- Exclude expected errors (4xx)
- Disable default error tracking since there is basically no information available
- Write tests
Local development
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release