New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@envelop/sentry

Package Overview
Dependencies
Maintainers
1
Versions
2027
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@envelop/sentry

This plugin collects errors and performance tracing for your execution flow, and reports it to [Sentry](https://sentry.io).

  • 13.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
16K
decreased by-27.99%
Maintainers
1
Weekly downloads
 
Created
Source

@envelop/sentry

This plugin collects errors and performance tracing for your execution flow, and reports it to Sentry.

This is how it looks like in Sentry for error tracking:

Example Example

The operation name, document, variables are collected on errors, and the breadcrumbs that led to the error. You can also add any custom values that you need.

And for performance tracking:

Example Example

You can get information about each resolver (including field and type names), it's execution time and arguments. Also, in case of an error, the performance log and info are attached automatically to the reported Sentry error.

Getting Started

yarn add @sentry/node @sentry/tracing @envelop/sentry
  1. Start by creating an account and a project in https://sentry.io
  2. Follow the instructions to setup your Sentry instance in your application.
  3. Setup Sentry global instance configuration.
  4. Setup the Envelop plugin.

Usage Example

import { execute, parse, specifiedRules, subscribe, validate } from 'graphql'
import { envelop, useEngine } from '@envelop/core'
import { useSentry } from '@envelop/sentry'
// do this only once in you entry file.
import '@sentry/tracing'

const getEnveloped = envelop({
  plugins: [
    useEngine({ parse, validate, specifiedRules, execute, subscribe }),
    // ... other plugins ...
    useSentry({
      includeRawResult: false, // set to `true` in order to include the execution result in the metadata collected
      includeResolverArgs: false, // set to `true` in order to include the args passed to resolvers
      includeExecuteVariables: false, // set to `true` in order to include the operation variables values
      appendTags: args => {}, // if you wish to add custom "tags" to the Sentry transaction created per operation
      configureScope: (args, scope) => {}, // if you wish to modify the Sentry scope
      skip: executionArgs => {} // if you wish to modify the skip specific operations
    })
  ]
})

Configuration

  • forceTransaction (default: true) - Force the creation of a new transaction for every GraphQL Operation. By default, Sentry mange the creation of transactions automatically. By enabling this option, you can ensure that the GraphQL execution pipeline is always wrapped in its own transaction.

  • renameTransaction (default: false) - Renames Transaction.

  • includeRawResult (default: false) - Adds result of each resolver and operation to Span's data (available under "result")

  • includeExecuteVariables (default: false) - Adds operation's variables to a Scope (only in case of errors)

  • appendTags - See example above. Allow you to manipulate the tags reports on the Sentry transaction.

  • configureScope - See example above. Allow you to manipulate the tags reports on the Sentry transaction.

  • transactionName (default: operation name) - Produces a name of Transaction (only when "renameTransaction" or "startTransaction" are enabled) and description of created Span.

  • traceparentData (default: {}) - Adds tracing data to be sent to Sentry - this includes traceId, parentId and more.

  • operationName - Produces a "op" (operation) of created Span.

  • skip (default: none) - Produces a "op" (operation) of created Span.

  • skipError (default: ignored GraphQLError) - Indicates whether or not to skip Sentry exception reporting for a given error. By default, this plugin skips all GraphQLError errors and does not report it to Sentry.

  • eventIdKey (default: 'sentryEventId') - The key in the error's extensions field used to expose the generated Sentry event id. Set to null to disable.

FAQs

Package last updated on 04 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc