Raygun Application Performance Monitoring
Sidekiq for Raygun Application Performance Monitoring.
Distributed as a Rails and Sidekiq wrapper to inject the precompiled native profiler gem into Sidekiq jobs.
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.5.x
-
2.6.x
-
2.7.x
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-sidekiq'
Preferably this profiler should only be enabled for your production environment:
group :production do
gem 'raygun-apm-sidekiq'
end
It is intended to work best alongside the raygun-apm-rails gem to profile both inline Web and async job work.
group :production do
gem 'raygun-apm-rails'
gem 'raygun-apm-sidekiq'
end
Run bundle
to install the gem.
Alternatively install using rubygems gem install raygun-apm-sidekiq
.
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 job
-
HTTP outbound - the URI, HTTP verb and time taken (typically external APIs)
-
Database queries - SQL statement, provider, database etc.
Contact us to support other specific background processing frameworks.