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:- Node.js Core
- Apollo Gateway
- BullMQ
- Elasticsearch
- Express
- Fastify
- GraphQL (such as Apollo Server or Yoga)
- Knex.js
- Koa.js
- MongoDB
- Mongoose
- MySQL (mysql and mysql2 packages)
- NestJS
- Next.js
- PostgreSQL
- Prisma
- Redis (redis and ioredis packages)
- Remix
- Restify
Supported Environments
🔧 Support for Node.js is defined on our maintenance policy
page.
- 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.