AppSignal for Node.jsThis feature requires 3.0.0 or higher.
NestJSThis feature requires 4.0.0 or higher.

Upgrading from AppSignal for Node.js 2.x? Read about integration changes between 2.x and 3.x in the Migration Guide.

Default instrumentations can be disabled via the disableDefaultInstrumentations config option. You can read more about how to configure this in our Configuration Options documentation.

The AppSignal for Node.js integration for NestJS.


NestJS is instrumented automatically by the AppSignal for Node.js package.

To load the AppSignal client initialization, you need to require the appsignal.cjs file before your app has begun to load.

When calling nest start directly, you can use the NODE_OPTIONS environment variable to require it:

NODE_OPTIONS='--require ./appsignal.cjs' nest start

To use AppSignal from the npm commands generated when creating an application with the nest new command, modify the following scripts from the scripts section of your package.json file as follows:

{ "scripts": { "start": "NODE_OPTIONS='--require ./appsignal.cjs' nest start", "start:dev": "NODE_OPTIONS='--require ./appsignal.cjs' nest start --watch", "start:debug": "NODE_OPTIONS='--require ./appsignal.cjs' nest start --debug --watch", "start:prod": "node --require ./appsignal.cjs dist/main" } }


The NestJS integration will send AppSignal a child span representing the execution time of each middleware, as well as a child span for the request handler.

The name of the controller class and method that handled the request will be used as the name of the action.

Any errors raised by your NestJS application will be reported to AppSignal.