AWS Lambda

(New in version 5.26.0)

Create a deployment package on your local machine and install the required dependencies in the deployment package. For more information, see Building an AWS Lambda deployment package for Node.js.

Add @sentry/serverless as a dependency:

Copied
npm install --save @sentry/serverless

We also support installing Sentry in Lambda Layer.

You can use the AWS Lambda integration for the Node like this:

Copied
const Sentry = require("@sentry/serverless");

Sentry.AWSLambda.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
  
  // We recommend adjusting this value in production, or using tracesSampler
  // for finer control
  tracesSampleRate: 1.0,
});

exports.handler = Sentry.AWSLambda.wrapHandler(async (event, context) => {
  // Your handler code
});

Enable Timeout Warning

Sentry reports timeout warning when the function is within 500ms of it's execution time. You can turn off timeout warnings by setting captureTimeoutWarning to false in the handler options. To change timeout warning limit, assign a numeric value (in ms) to timeoutWarningLimit

Copied
exports.handler = Sentry.AWSLambda.wrapHandler(yourHandler, {
  captureTimeoutWarning: false,
});

Behavior

With the AWS Lambda integration enabled, the Node SDK will:

  • Automatically report all events from your Lambda Functions.
  • Allows you to modify the transaction sample rate using tracesSampleRate.
  • Issue reports automatically include:
    • A link to the cloudwatch logs
    • Function details
    • sys.argv for the function
    • AWS Request ID
    • Function execution time
    • Function version
  • Sentry holds the thread for up to 2 seconds to report errors. You can change flush time limit by defining a flushTimeout value in the handler options
You can edit this page on GitHub.