Skip to main content
The Sentry Gatsby SDK provides error monitoring and performance tracking for Gatsby applications with automatic source map upload and build-time integration.

Installation

Basic Setup

Register as Plugin

Add Sentry to your gatsby-config.js:

Initialize Sentry

Create gatsby-browser.js and gatsby-ssr.js:

Plugin Configuration

Basic Options

Disable Source Map Upload

To disable automatic source map upload:

Error Handling

React Component Errors

Use ErrorBoundary to catch React errors:

Page Component Errors

Gatsby API Errors

Performance Monitoring

Route Changes

Route changes are automatically tracked with browserTracingIntegration.

Custom Transactions

GraphQL Query Tracking

Context and User Information

Setting User Context

Route Context

Environment Variables

Create a .env.production file:
Make DSN available to browser:

Source Maps

Automatic Upload

Source maps are automatically uploaded when:

Clean Up Source Maps

Delete source maps after upload:

Gatsby Cloud

For Gatsby Cloud deployments:
  1. Add environment variables in Gatsby Cloud dashboard
  2. Enable build webhook notifications
  3. Configure release tracking:

Best Practices

ErrorBoundary

Wrap your app layout with ErrorBoundary for global error catching.

Source Maps

Enable source map upload for production builds.

User Context

Set user context in onClientEntry hook.

Route Tracking

Use onRouteUpdate to track navigation context.

Troubleshooting

Ensure:
  1. Plugin is in gatsby-config.js plugins array
  2. Package is installed correctly
  3. DSN is set in options or environment
Verify:
  1. enableClientWebpackPlugin: true
  2. SENTRY_AUTH_TOKEN is set
  3. org and project are correct
Check:
  1. Gatsby and React versions are compatible
  2. All peer dependencies are installed
  3. Webpack configuration isn’t conflicting

Next Steps

ErrorBoundary

Advanced error boundary patterns

GraphQL

Track GraphQL query performance

Session Replay

Debug with session recordings

Gatsby Cloud

Configure for Gatsby Cloud deployments