-
Support exception frame's local variable capturing
Example:
To enable this feature, you need to set
config.capture_exception_frame_locals
totrue
:Sentry.init do |config| config.capture_exception_frame_locals = true # default is false end
This feature should only introduce negligible performance overhead in most Ruby applications. But if you notice obvious performance regression, please file an issue and we'll investigate it.
-
Support
ActiveStorage
spans in tracing events #1588 -
Support
Sidekiq
Tags in Sentry #1596 -
Add Client Reports to collect dropped event statistics #1604
This feature reports statistics about dropped events along with sent events (so no additional requests made). It'll help Sentry improve SDKs and features like rate-limiting. This information will not be visible to users at the moment, but we're planning to add this information to user-facing UI.
If you don't want to send this data, you can opt-out by setting
config.send_client_reports = false
.
- Connect
Sidekiq
's transaction with its parent when possible #1590- Fixes #1586
- Use nil instead of false to disable callable settings #1594
- Avoid duplicated sampling on Transaction events #1601
- Remove verbose data from
#inspect
result #1602
- Move Sentry::Rails::CaptureExceptions before ActionDispatch::ShowExceptions #1608
- Refactor
Sentry::Configuration
#1595 - Tracing subscribers should be multi-event based #1587
- Start Testing Against Rails 7.0 #1581
- Avoid leaking tracing timestamp to breadcrumbs #1575
- Avoid injecting tracing timestamp to all ActiveSupport instrument events #1576
- Fixes #1573
Hub#capture_message
should check its argument's type #1577- Fixes #1574
- Change default environment to 'development' #1565
- Fixes #1559
- Re-position RescuedExceptionInterceptor middleware #1564
- Fixes #1563
- Send events when report_after_job_retries is true and a job is configured with retry: 0 #1557
- Fixes #1556
- Add
monotonic_active_support_logger
#1531 - Support after-retry reporting to
sentry-sidekiq
#1532 - Generate Security Header Endpoint with
Sentry.csp_report_uri
from dsn #1507 - Allow passing backtrace into
Sentry.capture_message
#1550
- Check sentry-rails before injecting ActiveJob skippable adapters #1544
- Fixes #1541
- Don't apply Scope's transaction name if it's empty #1546
- Fixes #1540
- Don't start
Sentry::SendEventJob
's transaction #1547- Fixes #1539
- Don't record breadcrumbs in disabled environments #1549
- Scrub header values with invalid encoding #1552
- Fixes #1551
- Fix mismatched license info. New SDK gems' gemspecs specified
APACHE-2.0
while theirLICENSE.txt
wasMIT
. Now they both areMIT
.
- SDK should drop the event when any event processor returns nil #1523
- Add severity as
sentry_logger
's breadcrumb hint #1527 - Refactor
sentry-ruby.rb
and add comments #1529
- Silence some ruby warnings #1504
- Silence method redefined warnings #1513
- Correctly pass arguments to a rake task #1514
- Declare
resque
assentry-resque
's dependency #1503- Fixes #1502
- Declare
delayed_job
andsidekiq
as integration gem's dependency #1506 DSN#server
shouldn't include path #1505- Fix
sentry-rails
'backtrace_cleanup_callback
injection #1510 - Disable background worker when executing rake tasks #1509
- Fixes #1508
- Use
ActiveSupport
Lazy Load Hook to ApplyActiveJob
Extension #1494 - Fix
Sentry::Utils::RealIP
not filtering trusted proxies when part of IP subnet passed asIPAddr
totrusted_proxies
. #1498
- Add
sentry-resque
#1476 - Add tracing support to
sentry-resque
#1480 - Set user to the current scope via sidekiq middleware #1469
- Add tracing support to
sentry-delayed_job
#1482
IMPORTANT
If your application processes a large number of background jobs and has tracing enabled, it is recommended to check your traces_sampler
(or switch to traces_sampler
) and give the background job operations a smaller rate:
Sentry.init do |config|
config.traces_sampler = lambda do |sampling_context|
transaction_context = sampling_context[:transaction_context]
op = transaction_context[:op]
case op
when /request/
# sampling for requests
0.1
when /delayed_job/ # or resque
0.001 # adjust this value
else
0.0 # ignore all other transactions
end
end
end
This is to prevent the background job tracing consumes too much of your transaction quota.
- Remove redundant files #1477
- Remove response from breadcrumb and span #1463
- Fixes the issue mentioned in this comment
- Correct the timing of loading ActiveJobExtensions #1464
- Fixes #1249
- Limit breadcrumb's message length #1465
- Implement sentry-trace propagation #1446
The SDK will insert the sentry-trace
to outgoing requests made with Net::HTTP
. Its value would look like d827317d25d5420aa3aa97a0257db998-57757614642bdff5-1
.
If the receiver service also uses Sentry and the SDK supports performance monitoring, its tracing event will be connected with the sender application's.
Example:
This feature is activated by default. But users can use the new config.propagate_traces
config option to disable it.
- Add configuration option
skip_rake_integration
#1453
With this new option, users can skip exceptions reported from rake tasks by setting it true
. Default is false
.