Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

README.md

Outline

Sentry

Official Sentry SDK for Serverless environments

Links

General

This package is a wrapper around @sentry/node, with added functionality related to various Serverless solutions. All methods available in @sentry/node can be imported from @sentry/serverless.

Currently supported environment:

AWS Lambda

To use this SDK, call Sentry.AWSLambda.init(options) at the very beginning of your JavaScript file.

import * as Sentry from '@sentry/serverless';

Sentry.AWSLambda.init({
  dsn: '__DSN__',
  // ...
});

// async (recommended)
exports.handler = Sentry.AWSLambda.wrapHandler(async (event, context) => {
  throw new Error('oh, hello there!');
});

// sync
exports.handler = Sentry.AWSLambda.wrapHandler((event, context, callback) => {
  throw new Error('oh, hello there!');
});

If you also want to trace performance of all the incoming requests and also outgoing AWS service requests, just set the tracesSampleRate option.

import * as Sentry from '@sentry/serverless';

Sentry.AWSLambda.init({
  dsn: '__DSN__',
  tracesSampleRate: 1.0,
});

Integrate Sentry using internal extension

Another and much simpler way to integrate Sentry to your AWS Lambda function is to add an official layer.

  1. Choose Layers -> Add Layer.
  2. Specify an ARN: arn:aws:lambda:us-west-1:TODO:layer:TODO:VERSION.
  3. Go to Environment variables and add:
    • NODE_OPTIONS: -r @sentry/serverless/build/npm/cjs/awslambda-auto.
    • SENTRY_DSN: your dsn.
    • SENTRY_TRACES_SAMPLE_RATE: a number between 0 and 1 representing the chance a transaction is sent to Sentry. For more information, see docs.

Google Cloud Functions

To use this SDK, call Sentry.GCPFunction.init(options) at the very beginning of your JavaScript file.

import * as Sentry from '@sentry/serverless';

Sentry.GCPFunction.init({
  dsn: '__DSN__',
  tracesSampleRate: 1.0,
  // ...
});

// For HTTP Functions:

exports.helloHttp = Sentry.GCPFunction.wrapHttpFunction((req, res) => {
  throw new Error('oh, hello there!');
});

// For Background Functions:

exports.helloEvents = Sentry.GCPFunction.wrapEventFunction((data, context, callback) => {
  throw new Error('oh, hello there!');
});

// For CloudEvents:

exports.helloEvents = Sentry.GCPFunction.wrapCloudEventFunction((context, callback) => {
  throw new Error('oh, hello there!');
});
Morty Proxy This is a proxified and sanitized view of the page, visit original site.