• /
  • EnglishEspañol日本語한국어Português
  • Log inStart now

Ruby VM measurements

Insight into the behavior of the Ruby virtual machine can help you understand and improve the performance of your application as a whole. New Relic gathers some key metrics that can help you get a better picture of what your Ruby VM is doing. This can also help you to evaluate the impact of adjustments to VM configuration to improve performance.

Minimum requirements

Ruby VM metric collections are available in versions 3.8.0 or higher of the Ruby agent (although earlier versions did support collection of some basic garbage collection measurements).

In addition, in order to use this feature, you'll need to be on a Ruby version compatible with CRuby 1.9.2 or higher. The sections below on each individual measurement explains what Ruby versions support collection of each measurement.

Lastly, in order to capture GC timings, you'll need to enable GC::Profiler in your application.

Viewing Ruby VM data

To view data about the performance of your Ruby VMs. Go to one.newrelic.com > All capabilities > APM> (select an app) > Monitoring > Ruby VMs.

Measurement details

Most of these metrics help understand the behavior of Ruby's garbage collector.

Not all metrics can be collected across all Ruby versions. In general, you'll get the most complete data if you're on the most recent version of CRuby. The list below explains exactly what's available where:

Background processes

By default, data from all processes reporting into a given application name in New Relic will be combined on the Ruby VM page in the user interface. This means that if you have both web and background processes (such as Resque, Sidekiq, DelayedJob, etc.) reporting into the same New Relic application, the data may be confusing.

There are two ways to work around this issue:

  1. Pull your web and background processes into separate applications in New Relic, by setting the app_name configuration setting, or the NEW_RELIC_APP_NAME environment variable.
  2. Disable the collection of Ruby VM metrics in your background processes, by setting disable_vm_sampler: true in your configuration file, or by setting NEW_RELIC_DISABLE_VM_SAMPLER=1 in your application's environment.

Additional Documentation resources

Additional documentation resources include:

  • The APM Summary page discusses features and drill-down details when in the UI.
  • The Transactions page shows a summary of your app's performance.
  • The Ruby agent configuration resource contains update procedures and configuration file values, including general, proxy, transaction traces, and error collector.
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.