Automatic Instrumentation

Learn what instrumentation automatically captures transactions.

Many integrations for popular frameworks automatically capture transactions. If you have any of the following frameworks set up for Sentry error reporting and use the relevant Sentry gem, you'll start to see traces immediately:

  • Ruby on Rails (sentry-rails)
  • Active Job (sentry-rails)
  • Sidekiq (sentry-sidekiq)
  • Delayed Job (sentry-delayed_job)
  • Resque (sentry-resque)

Spans are instrumented for the following operations within a transaction:

  • Database queries in Rails that use ActiveRecord
    • includes common database systems such as Postgres and MySQL
  • Outgoing HTTP requests made with Net::HTTP
  • Redis operations
  • Active Job enqueueing (queue.publish)

Active Job execution creates a queue.process transaction and continues the trace from the enqueue operation. Learn more in the Active Job integration guide.

The SDK also captures queue time as transaction data (not a child span) when a X-Request-Start header is present from your reverse proxy (Nginx, HAProxy, or Heroku). See Automatic Queue Time Capture for setup instructions.

Child spans are only created within an existing transaction. If you're not using any of the supported frameworks, you'll need to create transactions manually.

Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").