Skip to content

Conversation

@dingsdax
Copy link
Contributor

Summary

Adds comprehensive user-facing documentation for the new sentry-good_job integration, which adds support for GoodJob (a Postgres-based ActiveJob backend for Ruby on Rails).

Features Documented

  • Installation: Gem installation for Rails and non-Rails applications
  • Configuration: Automatic Rails setup and manual configuration options
  • Error Capture: Automatic exception capture with enriched context (job name, queue, ID)
    • Configurable retry behavior (report_after_job_retries, report_only_dead_jobs)
    • Optional job arguments in error context (with PII warnings)
  • Performance Monitoring: Automatic instrumentation with execution time and queue latency tracking
  • Cron Monitoring:
    • Automatic setup by reading GoodJob cron configuration
    • Manual setup via sentry_cron_monitor method
    • Timezone support

Configuration Options

Documents 5 configuration options:

  • report_after_job_retries (default: false)
  • report_only_dead_jobs (default: false)
  • include_job_arguments (default: false, with security considerations)
  • auto_setup_cron_monitoring (default: true)
  • logging_enabled (default: false)

Related SDK PR

Based on: getsentry/sentry-ruby#2751

Documentation Structure

  • Location: docs/platforms/ruby/guides/good_job/index.mdx
  • Updated integrations table in docs/platforms/ruby/common/integrations/index.mdx
  • Follows existing Ruby guide patterns (similar to Sidekiq, DelayedJob, Resque)
  • Uses proper MDX components (<Alert>, <SdkOption>)
  • Includes verification steps and example code

Supported Versions

  • Ruby: 2.4+
  • Rails: 5.2+
  • GoodJob: 3.0+
  • Sentry Ruby SDK: 5.28.0+

🤖 Generated with Claude Code

Add comprehensive documentation for the sentry-good_job integration,
which adds support for GoodJob (a Postgres-based ActiveJob backend).

Key sections:
- Installation instructions for Rails and non-Rails applications
- Configuration options with code examples
- Error capture with enriched context
- Performance monitoring with execution time and queue latency
- Automatic and manual cron monitoring setup
- 5 configuration options (report_after_job_retries, report_only_dead_jobs, include_job_arguments, auto_setup_cron_monitoring, logging_enabled)

Based on PR: getsentry/sentry-ruby#2751

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Jan 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
sentry-docs Ready Ready Preview, Comment Jan 19, 2026 0:36am
1 Skipped Deployment
Project Deployment Review Updated (UTC)
develop-docs Ignored Ignored Jan 19, 2026 0:36am

Request Review

class DailyReportJob < ApplicationJob
include Sentry::Cron::MonitorCheckIns

sentry_cron_monitor :daily_reports,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The documentation for GoodJob cron monitoring uses sentry_cron_monitor, but the correct method in the Sentry Ruby SDK is sentry_monitor_check_ins, which will cause a NoMethodError.
Severity: CRITICAL

Suggested Fix

Replace the incorrect sentry_cron_monitor method call with the standard sentry_monitor_check_ins. Update the parameters to match the correct format, using monitor_config: Sentry::Cron::MonitorConfig.from_crontab(...). For example: sentry_monitor_check_ins monitor_config: Sentry::Cron::MonitorConfig.from_crontab('0 9 * * *', timezone: 'America/New_York').

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: docs/platforms/ruby/guides/good_job/index.mdx#L140

Potential issue: The code example for setting up cron monitoring with GoodJob uses the
method `sentry_cron_monitor`. This method does not appear to exist in the Sentry Ruby
SDK, where the standard method is `sentry_monitor_check_ins`. Users copying the provided
example will likely encounter a `NoMethodError` when their application loads the job
class, as the `sentry_cron_monitor` method is undefined. The parameter structure shown
in the example is also inconsistent with the standard SDK usage, which uses
`Sentry::Cron::MonitorConfig.from_crontab`.

Did we get this right? 👍 / 👎 to inform future reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants