GoodJob Performance Monitoring
Per-job timing, queue metrics, memory bloat detection, and error tracking for your GoodJob workers. Scout's Ruby agent instruments GoodJob automatically with no configuration. Connects job failures to the full trace and surrounding log lines.
Errors, Logs, and Traces for Every GoodJob Execution
Scout connects GoodJob failures to the full transaction trace and surrounding log lines in a single view. When a job raises an exception, you see the error, the job trace with per-operation timing, and the log output together.
Error Monitoring
Automatic exception capture for every GoodJob worker class. Errors are grouped by job type, linked to the originating trace, and enriched with job context.
Log Management
Log output from GoodJob workers is enriched with trace context. Filter logs by trace ID to see exactly what a specific job execution did, including any ActiveRecord queries and HTTP requests.
App Traces
Every GoodJob execution appears as its own transaction in Scout with per-operation timing. See time spent in ActiveRecord, external HTTP calls, and your application code broken out by job class.
N+1 Detection Inside GoodJob Workers
Scout automatically detects N+1 query patterns in ActiveRecord within GoodJob executions. If a background job triggers repeated queries in a loop, Scout identifies the pattern, shows the code location, and reports the total performance impact.
What Scout Instruments in Your GoodJob Workers
Scout's Ruby agent auto-instruments GoodJob with per-execution timing and error tracking. ActiveRecord queries, Redis calls, and HTTP client requests made inside jobs are all captured automatically. GoodJob runs inside your Rails process, so all Rails-level instrumentation applies to your background jobs as well.
Works with the GoodJob frameworks you already use
Scout auto-instruments the frameworks and libraries in your stack. No manual configuration required.
Background Jobs
- GoodJob
- Solid Queue
- Sidekiq
- Resque
- DelayedJob
Databases
- ActiveRecord
- Redis
- ElasticSearch
- Mongoid
HTTP Clients
- Net::HTTP
- HTTPClient
- Typhoeus
Memory Bloat Detection for GoodJob Workers
GoodJob workers running inside Rails processes can accumulate memory over time, especially when processing large payloads or holding object references across executions. Scout detects memory bloat at the job level, showing which worker classes are responsible. Requires Ruby 2.1+.
Query Your GoodJob App Data from AI Assistants and the Terminal
Scout offers hosted and local MCP servers with 17 tools, a Go CLI available via Homebrew with TOON format for LLM output, and a public API. Query your GoodJob performance, error rates, and N+1 insights from Claude Code, Cursor, or the terminal.
MCP Server
Hosted or local MCP server with 17 tools covering apps, endpoints, traces, errors, insights, background jobs, and usage data. Works with Claude Code, Cursor, VS Code Copilot, and any MCP-enabled assistant.
Scout CLI
Go binary available via Homebrew. Query app metrics, endpoint performance, traces, error groups, and insights from the terminal. Outputs human-friendly tables or TOON format for LLM consumption.
Public API
Full programmatic access to your monitoring data for building custom integrations, dashboards, or automation workflows.
Add Scout to Your GoodJob App
Get Scout running on your GoodJob workers in under 3 minutes.
Add to your Gemfile:
gem 'scout_apm'Run:
bundle installDownload your customized config file, placing it at config/scout_apm.yml.
Deploy.
GoodJob Monitoring FAQ
What is the best monitoring tool for GoodJob?
Scout Monitoring instruments GoodJob automatically. Every job execution appears as its own transaction with per-operation timing, ActiveRecord N+1 detection, memory bloat tracking, and error capture linked to the full job trace. Because GoodJob runs inside your Rails process, all Scout Rails instrumentation applies to your background jobs as well.
How do I monitor GoodJob with Scout?
Add the scout_apm gem to your Gemfile, run bundle install, add a config file at config/scout_apm.yml, and deploy. GoodJob jobs appear automatically in Scout alongside your Rails web transactions. No wrapper classes or manual instrumentation required.
Does Scout detect N+1 queries in GoodJob executions?
Yes. Scout automatically detects N+1 query patterns in ActiveRecord within GoodJob worker executions. The agent identifies repeated query patterns, shows the exact code location, and reports the total performance impact.
How does GoodJob monitoring differ from Sidekiq monitoring in Scout?
The monitoring coverage is the same: per-job timing, N+1 detection, memory bloat, and error tracking. The main difference is that GoodJob runs inside your Rails process rather than a separate Sidekiq server, so GoodJob jobs share the same Scout instrumentation context as your web requests.
Does Scout support other Ruby background job frameworks?
Yes. Scout auto-instruments GoodJob, Sidekiq, Resque, Solid Queue, DelayedJob, Shoryuken, and Sneakers. Each framework appears with per-job timing and error tracking in Scout.