Enabling RUM with Ruby
  • 30 Aug 2021
  • 2 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Enabling RUM with Ruby

  • Dark
    Light
  • PDF

This document details how to enable RUM for the APM Profiler in your Ruby application running on Linux or Windows.

Prerequisites

1. Install the Latest Version of the Agent and Profiler

Required Agent Versions
  • Windows Agent v4.32+
  • Linux Agent v2.31+
  • Ruby Profiler 1.15.0+

2. Enable RUM

Follow the RUM Getting Started guide to Enable RUM on your account.

3. Setup APM for your Application

Follow the Ruby Getting Started Guide to configure the profiler for your specific setup. The profiler will need to be properly configured for RUM to function.

4. Configure the RUM Key

In order to identify the data coming from your application pages is tied to your account, you need to make your RUM Key available to your application. This setting is passed to your application via an environment variable, RETRACE_RUM_KEY.
Windows
Add the RETRACE_RUM_KEY to the machine Environment Variables. Its value is the RUM Key available in the Retrace RUM configuration screen.

Linux
Set the RETRACE_RUM_KEY environment variable so that it is available to the application when it launches. This will vary based on how the application is launched (e.g. via systemd or command line).

Configuration
Set the rum_enabled: true and rum_key: 'RumKey' variable so that it is available to the application when it launches. Depending on how the setting for Stackify APM is set:

---
application_name: 'Sandbox Ruby'
environment_name: 'Sandbox'
rum_enabled: true
rum_key: 'SomeRumKey'

5. Inject Script into Page

The Ruby profiler supports two methods to inject the script into your HTML pages. It supports Rails and Rack for the middleware for the automated injection.

Automatic Injection
Automatic Injection is enabled by setting the environment variable RETRACE_RUMV2_ENABLED to the value of 'true' or using the Configuration Setup.

Manual Injection
The manual injection method is available on the StackifyRubyAPM.inject_rum_script method:

  • For Rails:
<%= raw(StackifyRubyAPM.inject_rum_script) %> 

Note: (Rails has a function that will convert any manual injected tags to htmlentities)

  • For Non Rails:
<%= StackifyRubyAPM.inject_rum_script %>

Manual Injection via API
The manual injection method requires that an API call to the Profiler is inserted into the HTML files without any quoting of the injectected string.

# Configuration - Standard API
Stackify.setup do |config|
  ...
  config.rum_key = "YourRumKey"
end

# Use this to apply on views
Stackify.rum.insert_rum_script

This API method is available in stackify-api-ruby versions 1.3.0 and greater.

6. Redeploy your App

Once the previous steps to enable RUM for your account and add the code snippet to your app(s) have been completed, the last step is to deploy the changes to your application.

Viewing RUM Data

Once the following steps have been taken to set up RUM for your apps, data will be reported in the corresponding App Dashboard. To see more information related to what RUM data is presented in the App Dashboard, see the Viewing RUM Data in Retrace help doc.


Was this article helpful?