Ruby Gem Overview
The MiniAPM Ruby gem provides automatic instrumentation for Rails applications with zero runtime dependencies.
Features
Section titled “Features”- 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
Supported Libraries
Section titled “Supported Libraries”| Category | Libraries |
|---|---|
| Rails | ActionController, ActionView |
| Database | ActiveRecord |
| Background Jobs | ActiveJob, Sidekiq, SolidQueue |
| Cache | Rails Cache |
| HTTP Clients | Net::HTTP, Faraday, HTTParty |
| Search | Elasticsearch, OpenSearch, Searchkick |
| Redis | redis-client, redis (legacy) |
Quick Setup
Section titled “Quick Setup”Add to your Gemfile:
gem 'miniapm'Run the installer:
bundle installrails generate miniapm:installThis 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'endSet your environment variables:
export MINI_APM_URL=http://localhost:3000export MINI_APM_API_KEY=proj_abc123...That’s it! Your Rails app will now send traces to MiniAPM.
Requirements
Section titled “Requirements”- Ruby 3.0+
- Rails 7.0+ (optional, for auto-setup)
What’s Next?
Section titled “What’s Next?”- Installation - Detailed installation guide
- Auto-instrumentation - How automatic tracing works
- Testing - Testing utilities for RSpec and Minitest