AppSignal for Node.js

⚠️ AppSignal for Node.js 3.x uses the OpenTelemetry framework. Check out the migration guide for more information on how this package's configuration differs from previous iterations. Our 2.x integration is deprecated, but 2.x documentation is still available here.

AppSignal for Node.js helps you get the most out of your Node.js application, providing you with the tools you need to track errors and monitor the performance of your application's code.

The package supports pure JavaScript and TypeScript applications and can auto-instrument various frameworks and packages with optional plugins. Other frameworks and packages might require some custom instrumentation.

OpenTelemetry

OpenTelemetry is an open-source project that facilitates the instrumentation of standardized telemetry data collection. This means that you can easily integrate your data with AppSignal or another vendor of your choice. You're not locked into a single provider's services. As OpenTelemetry is an open-source project, everyone can collaborate on the same base integrations to provide instrumentation for the benefit of everyone. OpenTelemetry currently supports several popular programming languages, including Node.js.

OpenTelemetry consists of multiple components: tracing, metrics, and logs. These components are still a work in progress in most programming languages, with tracing for many languages being the most stable component. We support OpenTelemetry's tracing component in our Node.js integration to provide better error reporting and performance measurements.

Learn more about OpenTelemetry via the project's official website.

Supported Libraries

Our integration supports the following libraries and frameworks:

Supported Environments

🔧 Support for Node.js is defined on our maintenance policy page.

Node.js is an incredibly flexible runtime, which allows it to be used for a multiple of different use-cases. AppSignal was primarily designed for use on a server, so there are a few places that the Node.js integration is currently not suitable:

  • Electron apps: We don't recommend using @appsignal/nodejs inside Electron applications. As we designed the agent to run on a server, it is not currently useful in this environment. It will also lead to possibly unwanted complexity around cross-compilation of the native extension.
  • Short-lived processes: Short-lived processes, such as CLI tools, are a poor fit for the agent, which must be able to stay running for a period of time (at least 60 seconds).
  • Serverless functions: Serverless functions are meant to be short-lived processes, so they are also a poor fit for the agent.
  • Statically generated apps: Some environments (e.g Gatsby.js, Svelte) offer some access to Node.js APIs but ultimately compile their code down to a client side application, and therefore aren't suitable for the Node.js library.

Don't panic! The @appsignal/javascript library does not require the agent and will work where @appsignal/nodejs doesn't currently work, however only error tracking is supported at the moment.

Need more help?

Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial