Skip to content

Ruby Gem Overview

The MiniAPM Ruby gem provides automatic instrumentation for Rails applications with zero runtime dependencies.

  • Zero dependencies - Uses only Ruby standard library
  • Auto-instrumentation - Works automatically with 13+ popular gems
  • W3C Trace Context - Full distributed tracing support
  • Non-blocking - Async batched sending, never blocks requests
  • Testing utilities - RSpec and Minitest integrations
CategoryLibraries
RailsActionController, ActionView
DatabaseActiveRecord
Background JobsActiveJob, Sidekiq, SolidQueue
CacheRails Cache
HTTP ClientsNet::HTTP, Faraday, HTTParty
SearchElasticsearch, OpenSearch, Searchkick
Redisredis-client, redis (legacy)

Add to your Gemfile:

gem 'miniapm'

Run the installer:

Terminal window
bundle install
rails generate miniapm:install

This creates config/initializers/miniapm.rb:

MiniAPM.configure do |config|
config.endpoint = ENV.fetch('MINI_APM_URL', 'http://localhost:3000')
config.api_key = ENV['MINI_APM_API_KEY']
config.service_name = 'my-rails-app'
end

Set your environment variables:

Terminal window
export MINI_APM_URL=http://localhost:3000
export MINI_APM_API_KEY=proj_abc123...

That’s it! Your Rails app will now send traces to MiniAPM.

  • Ruby 3.0+
  • Rails 7.0+ (optional, for auto-setup)