Skip to content

chore(deps): update dependency sentry-ruby to v5.17.1 - autoclosed

renovate-bot requested to merge renovate/sentry-ruby-monorepo into master

This MR contains the following updates:

Package Update Change
sentry-ruby (changelog) minor 5.16.1 -> 5.17.1

Release Notes

getsentry/sentry-ruby (sentry-ruby)

v5.17.1

Compare Source

Bug Fixes
  • Fix NoMethodError / Make session_tracking check consistent (#​2269)

v5.17.0

Compare Source

Features
  • Add support for distributed tracing in sentry-delayed_job #​2233
  • Fix warning about default gems on Ruby 3.3.0 (#​2225)
  • Add hint: support to Sentry::Rails::ErrorSubscriber #​2235
  • Add Metrics support
    • Add main APIs and Aggregator thread #​2247

    • Add Sentry::Metrics.timing API for measuring block duration #​2254

    • Add metric summaries on spans #​2255

    • Add config.metrics.before_emit callback #​2258

    • Add code locations for metrics #​2263

      The SDK now supports recording and aggregating metrics. A new thread will be started for aggregation and will flush the pending data to Sentry every 5 seconds.

      To enable this behavior, use:

      Sentry.init do |config|

...

  config.metrics.enabled = true
end
```

And then in your application code, collect metrics as follows:

```ruby

increment a simple counter

Sentry::Metrics.increment('button_click')

set a value, unit and tags

Sentry::Metrics.increment('time', 5, unit: 'second', tags: { browser:' firefox' })

distribution - get statistical aggregates from an array of observations

Sentry::Metrics.distribution('page_load', 15.0, unit: 'millisecond')

gauge - record statistical aggregates directly on the SDK, more space efficient

Sentry::Metrics.gauge('page_load', 15.0, unit: 'millisecond')

set - get unique counts of elements

Sentry::Metrics.set('user_view', 'jane')

timing - measure duration of code block, defaults to seconds

will also automatically create a metric.timing span

Sentry::Metrics.timing('how_long') { sleep(1) }

timing - measure duration of code block in other duraton units

Sentry::Metrics.timing('how_long_ms', unit: 'millisecond') { sleep(0.5) }
```

You can filter some keys or update tags on the fly with the `before_emit` callback, which will be triggered before a metric is aggregated.

```ruby
Sentry.init do |config|

...

the 'foo' metric will be filtered and the tags will be updated to add :bar and remove :baz

  config.metrics.before_emit = lambda do |key, tags|
    return nil if key == 'foo'
    tags[:bar] = 42
    tags.delete(:baz)
    true
  end
end
```

By default, the SDK will send code locations for unique metrics (defined by type, key and unit) once a day and with every startup/shutdown of your application.
You can turn this off with the following:

```ruby
Sentry.init do |config|

...

  config.metrics.enable_code_locations = false
end
```
Bug Fixes
  • Fix undefined method 'constantize' issue in sentry-resque (#​2248)
  • Only instantiate SessionFlusher when the SDK is enabled under the current env #​2245
  • Update backtrace parsing regexp to support Ruby 3.4 (#​2252)
  • Make sure sending_allowed? is respected irrespective of spotlight configuration (#​2231)

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports