Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b8163cf
Introduce sentry-good_job integration with essential files and config…
amkisko Oct 16, 2025
75c18f9
Update .gitignore and remove .rspec_status file
amkisko Oct 16, 2025
0c31fa1
Refactor job monitoring setup in sentry-good_job integration
amkisko Oct 16, 2025
fe90fb5
Refactor error handling in sentry-good_job integration
amkisko Oct 16, 2025
1dcd6bb
Enhance cron monitoring and error handling in sentry-good_job integra…
amkisko Oct 16, 2025
01fff5a
Update configuration option terminology in sentry-good_job integration
amkisko Oct 17, 2025
8f67392
Refactor sentry-good_job integration to leverage sentry-rails for Act…
amkisko Oct 17, 2025
07e9c7a
Fix enhance_sentry_reporter method to properly encapsulate patch
amkisko Oct 17, 2025
c79383f
Enhance cron monitoring setup in Sentry GoodJob integration
amkisko Oct 17, 2025
852b0fd
Improve error handling in Sentry ActiveJob integration
amkisko Oct 17, 2025
5fc4b5c
Enhance cron monitoring logging in Sentry GoodJob integration
amkisko Oct 17, 2025
9c95ff4
Refactor error handling in cron monitoring setup for Sentry GoodJob i…
amkisko Oct 17, 2025
4896a51
Refactor transaction initialization in Sentry integrations
amkisko Oct 17, 2025
3a03a19
Refactor transaction handling in Sentry ActiveJob integration
amkisko Oct 17, 2025
5cdb3d1
Refactor logging in Sentry GoodJob integration
amkisko Oct 17, 2025
8a4e074
Enhance Sentry GoodJob integration with improved context and span dat…
amkisko Oct 17, 2025
beb0927
Update README.md for Sentry GoodJob integration
amkisko Oct 17, 2025
8ff0023
Rubocop cleanup
amkisko Oct 17, 2025
471e613
Enhance user context preservation in Sentry integrations
amkisko Oct 17, 2025
3137ce5
Remove redundant user context preservation tests from Sentry integrat…
amkisko Oct 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions sentry-good_job/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/.bundle/
/.yardoc
/_yardoc/
/coverage/
/doc/
/pkg/
/spec/reports/
/tmp/
*.gem
*.rbc
/.config
/coverage/
/InstalledFiles
/pkg/
/spec/reports/
/spec/examples.txt
/test/tmp/
/test/version_tmp/
/tmp/

# Environment variables
.env
.env.local
.env.*.local

# Logs
*.log

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/

# nyc test coverage
.nyc_output

# Dependency directories
node_modules/

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

# Nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# RSpec status file
.rspec_status
3 changes: 3 additions & 0 deletions sentry-good_job/.rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--require spec_helper
--color
--format documentation
19 changes: 19 additions & 0 deletions sentry-good_job/.rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
inherit_gem:
rubocop-rails-omakase: rubocop.yml

Layout/SpaceInsideArrayLiteralBrackets:
Enabled: false

Layout/EmptyLineAfterMagicComment:
Enabled: true

Style/FrozenStringLiteralComment:
Enabled: true

Style/RedundantFreeze:
Enabled: true

AllCops:
Exclude:
- "tmp/**/*"
- "examples/**/*"
33 changes: 33 additions & 0 deletions sentry-good_job/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog

Individual gem's changelog has been deprecated. Please check the [project changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md).

## 5.28.0

### Features

- Initial release of sentry-good_job integration
- Automatic error capture for ActiveJob workers using Good Job
- Performance monitoring for job execution
- Automatic cron monitoring setup for scheduled jobs
- Context preservation and trace propagation
- Configurable error reporting options
- Rails integration with automatic setup

### Configuration Options

- `report_after_job_retries`: Only report errors after all retry attempts are exhausted
- `report_only_dead_jobs`: Only report errors for jobs that cannot be retried
- `propagate_traces`: Propagate trace headers for distributed tracing
- `include_job_arguments`: Include job arguments in error context
- `auto_setup_cron_monitoring`: Automatically set up cron monitoring for scheduled jobs
- `logging_enabled`: Enable logging for the Good Job integration
- `logger`: Custom logger to use

### Integration Features

- Seamless integration with Rails applications
- Automatic setup when Good Job integration is enabled
- Support for both manual and automatic cron monitoring
- Respects ActiveJob retry configuration
- Comprehensive error context and performance metrics
16 changes: 16 additions & 0 deletions sentry-good_job/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# frozen_string_literal: true

source "https://rubygems.org"

# Specify your gem's dependencies in sentry-good_job.gemspec
gemspec

gem "rake", "~> 13.0"

group :development, :test do
gem "rspec", "~> 3.0"
gem "rubocop", "~> 1.0"
gem "rubocop-rails-omakase", "~> 1.0"
gem "simplecov", "~> 0.22"
gem "simplecov-cobertura", "~> 2.0"
end
21 changes: 21 additions & 0 deletions sentry-good_job/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Sentry

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
22 changes: 22 additions & 0 deletions sentry-good_job/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# frozen_string_literal: true

.PHONY: test
test:
bundle exec rspec

.PHONY: lint
lint:
bundle exec rubocop

.PHONY: install
install:
bundle install

.PHONY: console
console:
bundle exec bin/console

.PHONY: setup
setup:
bundle install
bundle exec bin/setup
Loading