Skip to content

Configuration

Sentry Sails can be configured via environment variables or a configuration file.

Configuration File

Create config/sentry.js in your Sails application:

javascript
module.exports.sentry = {
  dsn: process.env.SENTRY_DSN,
  environment: process.env.NODE_ENV || 'development',
  tracesSampleRate: 1.0,
  profilesSampleRate: 1.0,
  sendDefaultPii: true
}

Options

OptionTypeDefaultDescription
dsnstringprocess.env.SENTRY_DSNYour Sentry Data Source Name
environmentstringprocess.env.NODE_ENVEnvironment name (e.g., 'production', 'staging')
releasestringprocess.env.SENTRY_RELEASERelease version for tracking deployments
tracesSampleRatenumber1.0Sample rate for performance tracing (0.0 to 1.0)
profilesSampleRatenumber1.0Sample rate for profiling (0.0 to 1.0)
sendDefaultPiibooleantrueCapture request headers and IP addresses

DSN Resolution

The hook resolves the DSN in the following order:

  1. sails.config.sentry.dsn (from config/sentry.js)
  2. SENTRY_DSN environment variable

If neither is set, the hook will log a warning and skip initialization.

Sample Rates

Traces Sample Rate

Controls what percentage of requests are traced for performance monitoring:

javascript
module.exports.sentry = {
  dsn: process.env.SENTRY_DSN,
  // Trace 10% of requests in production
  tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0
}

Profiles Sample Rate

Controls profiling frequency (relative to traced requests):

javascript
module.exports.sentry = {
  dsn: process.env.SENTRY_DSN,
  tracesSampleRate: 0.1,
  // Profile 50% of traced requests
  profilesSampleRate: 0.5
}

Environment-Specific Configuration

You can create environment-specific configuration files:

config/env/production.js

javascript
module.exports.sentry = {
  tracesSampleRate: 0.1,
  profilesSampleRate: 0.1
}

config/env/development.js

javascript
module.exports.sentry = {
  tracesSampleRate: 1.0,
  profilesSampleRate: 1.0
}

Releases

Track deployments by setting a release version:

javascript
module.exports.sentry = {
  dsn: process.env.SENTRY_DSN,
  release: process.env.SENTRY_RELEASE || 'v1.0.0'
}

Or set via environment variable:

bash
SENTRY_RELEASE=v1.2.3

Releases help you:

  • Track which version introduced a bug
  • See regression data across deployments
  • Associate source maps with specific versions

See Source Maps for uploading source maps tied to releases.

Additional Sentry Options

Any additional options passed to config/sentry.js are forwarded to Sentry.init():

javascript
module.exports.sentry = {
  dsn: process.env.SENTRY_DSN,
  maxBreadcrumbs: 50,
  debug: process.env.NODE_ENV === 'development'
}

See the Sentry Node.js SDK documentation for all available options.

All open source projects are released under the MIT License.