SUSE / hackweek

SUSE Hack Week tools and data
https://hackweek.opensuse.org/
MIT License
64 stars 53 forks source link

Update sentry-rails 5.16.1 → 5.17.0 (minor) #1477

Closed depfu[bot] closed 5 months ago

depfu[bot] commented 5 months ago

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ sentry-rails (5.16.1 → 5.17.0) · Repo · Changelog

Release Notes

5.17.0

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:

      # 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.

      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:

      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)

Does any of this look wrong? Please let us know.

✳️ sentry-ruby (5.16.1 → 5.17.0) · Repo · Changelog

↗️ i18n (indirect, 1.14.1 → 1.14.4) · Repo · Changelog

Release Notes

1.14.4

What's Changed

Note: the racc dependency will be coming back in Version 2.

  • undo strict racc dependency on this branch by @radar in #687

Full Changelog: v1.14.3...v1.14.4

1.14.3

What's Changed

  • Pass options to along to exists? super calls by @radar in #671
  • Improve TOKENIZER by 23% by @kbrock in #668
  • Regex part deux - INTERPOLATION_SYNTAX by @kbrock in #669
  • Raise when translated entry contains interpolations for reserved keywords and no substitutions provided by @fatkodima in #678
  • Implement Fallbacks#inspect and Fallbacks#empty? by @fatkodima in #683

Upkeep

New Contributors

Full Changelog: v1.14.1...v1.14.3

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 28 commits:

↗️ minitest (indirect, 5.22.2 → 5.22.3) · Repo · Changelog

🆕 bigdecimal (added, 3.1.7)


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
depfu[bot] commented 5 months ago

Closed in favor of #1479.