Rails Error and Performance Monitoring

Actionable insights to resolve Rails performance bottlenecks and errors. Improve your Rails monitoring workflow with a full view of releases so you can mark errors as resolved and prioritize live issues.

Getting Started is Simple

Add sentry-ruby and sentry-rails to your Gemfile:

Ruby
gem "sentry-ruby"
gem "sentry-rails"

Initialize the SDK within your config/initializers/sentry.rb:

Ruby
Sentry.init do |config|
  config.dsn = 'https://<key>@sentry.io/<project>'
  config.breadcrumbs_logger = [:active_support_logger]

  # To activate Tracing, set one of these options.
  # We recommend adjusting the value in production:
  config.traces_sample_rate = 1.0
  # or
  config.traces_sampler = lambda do |context|
    true
  end
end

Rails Performance Monitoring

Quickly identify Rails performance issues and view full end-to-end distributed trace to see the exact, poor-performing API call and surface any related errors.
See a Sample Transaction

Complete Stack Traces, With Request Context

Take advantage of built-in integrations with Rails, Sidekiq, DelayedJob, and more of your favorite RubyGems. Enable asynchronous reporting so errors are logged quickly in a background job. Filter and group Rails exceptions intuitively to eliminate noise.
See a Sample Stack Trace

Fill In The Blanks

Expose important events that led to each Rails exception: a string to label where the event took place, message, timestamp. Learn in which version a bug first appeared, merge duplicates, and know if things regress in a future release.
Check out Breadcrumbs
Sentry Logs showing structured log output alongside errors and traces

Your Logs, Next to the Trace

Send your Rails logs to Sentry and query them beside the trace and the exception. ActiveSupport log output becomes searchable context on the request or background job that failed, rather than something you grep for after the fact.

Learn more about Logs in Sentry.

Explore Logs

"Sentry has become mission-critical to the way we build and ship software."

Daniel Lopez Ridruejo
Senior Director of Cloud Services
Bitnami

See the Full Picture of Any Rails Exception

Get the user's unique id, contact info, and IP address, as well as any localization as context to resolve the error and notify your customer.

Index and aggregate tags to easily search your error reports, see the distribution of issues, and find what's a priority or a trend.

Find answers to key questions: Is the Rails exception limited to a single server? What arguments caused the ActiveJob to fail?

It's why companies that don't have a complete view of their infrastructure are being punished:

The average cost of network downtime is around $5,600 per minute — or $300,000 per hour.

1 out of 5 online shoppers will abandon their cart because the transaction process was too slow.

On average, a two-second slowdown in page load decreases revenues by 4.3 percent.

FAQs

Add the sentry-ruby and sentry-rails gems and initialize Sentry in an initializer. You get error monitoring immediately, and enabling tracing gives you distributed traces across your Rails app and the services it calls. Rack middleware is instrumented, and ActiveSupport logs become breadcrumbs on every event.

Add Profiling for function-level performance data from real users, and Logs to query your Rails logs next to the traces and errors they belong to.

Yes. Sentry has dedicated integrations for Sidekiq and DelayedJob, so exceptions raised inside background jobs are captured with the job context attached instead of disappearing into a worker log.

For jobs that run on a schedule, Cron Monitoring alerts you when a job fails or never runs at all — the silent failures that are hardest to notice.

Yes. Sentry Logs lets you send, view, and query structured logs from your application alongside your errors and traces. Because logs sit next to the error and the trace that produced them, you get the granular context — retries, API failures, internal state — that spans and stack traces alone can miss, without switching tools.

Learn more about Logs in Sentry.

Seer is Sentry's AI debugging agent. It reads the full context Sentry already has — the error, its stack trace, the surrounding trace, logs, and profiles — to find the root cause of an issue and propose a fix. Seer can open a pull request with that fix, hand the work to an external coding agent, or review your PRs before they ship.

Learn more about Seer and Autofix.

You can get started for free. Pricing depends on the number of monthly events, transactions, and attachments that you send Sentry. For more details, visit our pricing page.

Sentry doesn't impact a web site's performance.

If you look at the configuration options for when you initialize Sentry in your code, you'll see there's nothing regarding minimizing its impact on your app's performance. This is because our team of SDK engineers already developed Sentry with this in mind.

Sentry is a listener/handler for errors that asynchronously sends out the error/event to Sentry.io. This is non-blocking. The error/event only goes out if this is an error.

Global handlers have almost no impact as well, as they are native APIs provided by the browsers.

A better experience for your users. An easier life for your developers.