Raygun Application Performance Monitoring

Rails Profiler for Raygun Application Performance Monitoring.

Distributed as a Rails wrapper to inject the precompiled native profiler gem.

Supported platforms

  • x86-mingw32

  • x64-mingw32

  • x86-linux

  • x86_64-linux

  • universal-darwin

Contact us to support other platforms.

Supported Ruby versions

The profiler only supports CRuby, also known as Matz’s Ruby Interpreter (MRI).

  • 2.4.x (End of life upstream release that does not receive backports anymore)

  • 2.5.x

  • 2.6.x

  • 2.7.x (Preview release, still officially unreleased, but supported)

Contact us to support other Ruby versions.

Supported Rails versions

Rails 4 and up.

  • Rails 4.x

  • Rails 5.x

  • Rails 6.x

Contact us to support other Rails versions.

Agent Setup

The Profiler needs to be able to access the Raygun Agent over UDP.

The RAYGUN_AGENT_TOKEN needs to be supplied as an argument and is available under “Application Settings” at the Raygun Application Performance Monitoring UI

To launch Raygun Agent using docker

docker pull raygunowner/raygun-apm
docker run -v raygun-agent:/usr/share/Raygun -e "RAYGUN_AGENT_TOKEN=<token>" -p 2790:2790 -p 2788:2788 -p 2799:2799/udp -it raygunowner/raygun-apm:latest

Profiler Setup

Include the gem in your Gemfile and enable it for all environments:

gem 'raygun-apm-rails'

Preferably this profiler should only be enabled for your production environment:

group :production do
  gem 'raygun-apm-rails'
end

Run bundle to install the gem.

Alternatively install using rubygems gem install raygun-apm-rails.

Rails workloads supported

Currently we only hook into the framework with Rack middleware and thus only instrument HTTP request / response workloads.

The following extended events are captured:

  • HTTP inbound - the request URI, HTTP verb and other details of the current request

  • Database queries - SQL statement, provider, database etc.

Contact us to support other workloads such as specific background processing frameworks.