---
title: Introduction to New Relic for Node.js
source: https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs
---

Pinpoint and solve issues down to the line of code with Node.js monitoring from New Relic. With features like [service maps](https://docs.newrelic.com/docs/data-analysis/service-maps/get-started/introduction-service-maps), [errors inbox](https://docs.newrelic.com/docs/errors-inbox/errors-inbox), [logs in context](https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/get-started-logs-context), and more, our Node.js agent helps you get the full picture of your app environment.

## Why it matters [#why]

Many Node.js application requests are based on raw URLs. Our solution is different. New Relic for Node.js assumes it can group requests to your application into transactions instead of HTTP requests. Transactions are defined by giving one or more request paths a name. These names are used to:

-   Visualize where your app is spending its time (in transaction breakdowns).
-   Identify slow requests.
-   Group metrics.
-   Show you which portions of your application are suffering from slow database performance.

## Installation [#install]

To install our agent, you need to [sign up for New Relic](https://newrelic.com/signup) first. Once you're logged in, follow the instructions or use our launcher to get data flowing in.

-   Review the [system requirements](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent).
-   [Read the install docs](https://docs.newrelic.com/docs/agents/nodejs-agent/installation-configuration/install-nodejs-agent).
-   Go directly to the New Relic UI to [add Node.js data](https://one.newrelic.com/marketplace/install-data-source?account=1&state=587d34b2-20cc-4d04-b1fa-6b76dfbae911).

## Extend your instrumentation [#extend-instrumentation]

After installing the Node.js agent, extend your instrumentation:

| Extend your instrumentation | Comments                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Customization               | - Implement [Node.js custom instrumentation](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/nodejs-custom-instrumentation). - [Collect custom metrics via an API call](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/nodejs-custom-metrics). - Use our [Node.js agent API](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/nodejs-agent-api) to control, customize, or extend the agent's functionality. - Browse our [example applications](https://github.com/newrelic/newrelic-node-examples) to see various out of the box and custom instrumentation in action. |
| Extend Instrumentation      | The Node.js agent auto-instruments many different [3rd party packages](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent/#instrumented-modules). However there are two other modules that are needed if you want telemetry for [Apollo Server](https://github.com/newrelic/newrelic-node-apollo-server-plugin/blob/abfb3ede982169c4e1b1bcf9974ff3f6b01c68ea/README.md) and [Next.js](https://github.com/newrelic/newrelic-node-nextjs/blob/ea20b76a13c84f4f3c48e9544e18e568b8e41c33/README.md).
                                                                             |
| VM measurements             | - Collect [key metric timeslice data](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/node-vm-measurements) from the Node.js virtual machine. - [View detailed VM statistics](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/node-vms-statistics-page) in the New Relic UI.                                                                                                                                                                                                                                                                                                                  |
| End-user activity           | - Integrate the Node.js agent with [browser monitoring](https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/new-relic-browser). - Gain visibility into user activity with [browser monitoring's page load timing process](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/page-load-timing-nodejs).                                                                                                                                                                                                                                                                                            |

## View logs for your APM and infrastructure data [#logs-context]

You can also bring your logs and application's data together to make troubleshooting easier and faster. With [APM logs in context](https://docs.newrelic.com/docs/apm/new-relic-apm/getting-started/get-started-logs-context), you can see log messages related to your errors and traces directly in your app's UI. You can also see logs in context of your [infrastructure data](https://docs.newrelic.com/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), such as Kubernetes clusters. No need to switch to another UI page in New Relic.

## Troubleshoot your installation [#troubleshooting]

If you encounter issues with your Node.js agent, see our troubleshooting docs. Some of the most important troubleshooting docs in that section include:

-   [Large memory usage](https://docs.newrelic.com/docs/agents/nodejs-agent/troubleshooting/troubleshooting-large-memory-usage-nodejs): If you've installed the Node.js agent and your memory usage has increased, check out these possible solutions.
-   [Troubleshooting your Node.js installation](https://docs.newrelic.com/docs/agents/nodejs-agent/troubleshooting/troubleshooting-your-nodejs-installation): Try these steps if you don't see any data, cannot log files, or encounter other installation problems with the Node.js agent.
-   [Troubleshooting browser instrumentation](https://docs.newrelic.com/docs/agents/nodejs-agent/troubleshooting/troubleshooting-page-load-timing-nodejs): If you encounter problems with browser data, see these additional tips for Node.js.

If you need more help, get support at [support.newrelic.com](https://support.newrelic.com).

## Check the source code [#source-code]

Our Node.js agent is open source software. You can [browse the source code](https://github.com/newrelic/node-newrelic) and send improvements, or create your own fork and build it. For more information, see the [node-newrelic README on GitHub](https://github.com/newrelic/node-newrelic/blob/main/README.md).
