Back to Blog Home

A Gem of an Update: Performance Monitoring for Ruby

Chris Heher image

Chris Heher -

A Gem of an Update: Performance Monitoring for Ruby

https://sentry.io/resources/distributed-tracing-infographic/In order to continuously improve your Ruby application, you need to understand everything your code touches. That means visibility into how your frontend responds to the database queries that are central to your Ruby application.

Sentry’s new Ruby SDK collects and monitors the data surrounding your traces, logs, and key performance monitoring metrics. With it, you now have the context to connect backend issues to frontend performance.

ruby_perf

Distributed Tracing

Sentry’s distributed tracing not only informs you which environment the error occurred, but the deploy that caused it. Now you can link traces to its related issue (or the other way around) to help you fully understand the relationship between an issue and its impact.

Sentry.init do |config|
  config.dsn = 'https://examplePublicKey@o0.ingest.sentry.io/0'

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

With distributed tracing, you can either set a uniform sample rate or control the sample rate dynamically.

Integrations

Our Ruby SDK supports popular frameworks (Rails, Rack Middleware, Sidekick). Sentry also integrates with your favorite developer tools (Jira, GitHub, PagerDuty and Slack). And when you combine our Ruby SDK with our Javascript SDK, you can get an end-to-end performance report that’s unmatched by any other monitoring service.

Getting started

Our Ruby SDK has a default integration with Rack, so you only need to use the middleware in your application:

require 'sentry-ruby'
Sentry.init do |config|
  config.dsn = 'https://examplePublicKey@o0.ingest.sentry.io/0'

Otherwise, you can always use the capture helpers manually.

Sentry.capture_message("hello world!")
begin
  1 / 0
rescue ZeroDivisionError => exception
  Sentry.capture_exception(exception)

From AirBnB to RapGenius, Ruby is enjoying a renaissance. That’s because developers are beginning to reacknowledge Ruby’s value as a mature, supported framework that can simplify common e-commerce functions. But that’s only if you modernize your approach to working with Ruby; that is, instrumenting your code to meet the demands of today’s users.

Starting a Ruby application? Check out our documentation, or contact us at sales@sentry.io to get started.

Share

Share on Twitter
Share on Facebook
Share on HackerNews
Share on LinkedIn

Published

Sentry Sign Up CTA

Code breaks, fix it faster

Sign up for Sentry and monitor your application in minutes.

Try Sentry Free

Topics

SDK Updates

The best way to debug slow web pages

Listen to the Syntax Podcast

Of course we sponsor a developer podcast. Check it out on your favorite listening platform.

Listen To Syntax
    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.