Pluggable Integrations

Pluggable integrations are integrations that can be additionally enabled, to provide specific features. They’re documented so you can see what they do and that they can be enabled. To enable pluggable integrations, provide a new instance with your config to the integrations option. For example: integrations: [new Sentry.Integrations.Modules()].

Core

CaptureConsole

Import name: Sentry.Integrations.CaptureConsole

This integration captures all Console API calls and redirects them to Sentry using captureMessage call. It then retriggers to preserve default native behaviour.

Available options:

{
  levels: string[]; // an array of methods that should be captured, defaults to ['log', 'info', 'warn', 'error', 'debug', 'assert']
}

Dedupe

Import name: Sentry.Integrations.Dedupe

This integration deduplicates certain events. It can be helpful if you are receiving many duplicate errors. Be aware that we will only compare stack traces and fingerprints.

Debug

Import name: Sentry.Integrations.Debug

This integration allows you to quickly inspect the content of the processed event that will be passed to beforeSend and effectively send it to Sentry.

Available options:

{
  debugger: boolean; // trigger DevTools debugger instead of using console.log
  stringify: boolean; // stringify event before passing it to console.log
}

ExtraErrorData

Import name: Sentry.Integrations.ExtraErrorData

This integration extracts all non-native attributes from the Error object and attaches them to the event as the extra data.

Available options:

{
  depth: number; // limit of how deep the object serializer should go. Anything deeper than the limit will be replaced with standard Node.js REPL notation of [Object], [Array], [Function] or primitive value. Defaults to 3.
}

RewriteFrames

Import name: Sentry.Integrations.RewriteFrames

This integration allows you to apply a transformation to each frame of the stack trace. In the streamlined scenario, it can be used to change the name of the file frame it originates from, or it can be fed with an iterated function to apply any arbitrary transformation.

Available options:

{
  root: string; // root path that will be appended to the basename of the current frame's url
  iteratee: (frame) => frame); // function that takes the frame, applies any transformation on it and returns it back
}

Node specific

Modules

Import name: Sentry.Integrations.Modules

This integration fetches names of all currently installed Node modules and attaches the list to the event. Once fetched, Sentry will cache the list for later reuse.

Transaction

Import name: Sentry.Integrations.Transaction

This integration tries to extract useful transaction names that will be used to distinguish the event from the rest. It walks through all stack trace frames and reads the first in-app frame’s module and function name.