Version 8.16.0 introduces more Ruby on Rails instrumentation (especially for Rails 6 and 7) for various Action*/Active* libraries whose actions produce Active Support notifications events.
Add Various Ruby on Rails Library Instrumentations
New instrumentation is now automatically provided by several Action*/Active* libaries that generate Active Support notifications. With each Ruby on Rails release, new the Rails libraries add new events and sometimes existing events have their payload parameters updated as well. The New Relic Ruby agent will now automatically process more of these events and parameters with New Relic segments created for each event. At a minimum, each segment gives timing information for the event. In several cases, all non-sensitive event payload parameters are also passed along in the segment.
The agent now newly supports or has updated support for the following libraries:
The instrumentations for each of these libaries are all enabled by default, but can be independently disabled via configuration by using the following parameters:
Configuration name
Default
Behavior
disable_action_cable
false
If true, disables Action Cable instrumentation.
disable_action_controller
false
If true, disables Action Controller instrumentation.
disable_action_mailbox
false
If true, disables Action Mailbox instrumentation.
disable_action_mailer
false
If true, disables Action Mailer instrumentation.
disable_activejob
false
If true, disables Active Job instrumentation.
disable_active_support
false
If true, disables Active Support instrumentation.
8.15.0
Version 8.15.0 of the agent confirms compatibility with Ruby 3.2.0, adds instrumentation for concurrent-ruby, and confirms Sinatra 3 compatibility with Padrino 0.15.2. It also enables batching and compression for Infinite Tracing.
Add Support for Ruby 3.2.0
Following the 3.2.0 release of Ruby, the New Relic Ruby Agent has confirmed compatibility with and now supports the official release of Ruby 3.2.0. PR#1715
Add instrumentation for concurrent-ruby
Instrumentation for the concurrent-ruby gem has been added to the agent for versions 1.1.5 and above. When a transaction is already in progress and a call to a Concurrent:: method that routes through Concurrent::ThreadPoolExecutor#post is made, a segment will be added to the transaction. Any content within the block passed to the Concurrent:: method that is instrumented by the agent, such as a call to Net::HTTP.get, will have a nested segment created. PR#1682
Configuration name
Default
Behavior
instrumentation.concurrent_ruby
auto
Controls auto-instrumentation of the concurrent-ruby library at start up. May be one of auto, prepend, chain, disabled.
Infinite Tracing: Use batching and compression
For Infinite Tracing, which Ruby applications can leverage with the newrelic-infinite_tracing gem, payloads will now be batched and compressed to signficantly decrease the amount of outbound network traffic. PR#1723
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps newrelic_rpm from 3.8.1.221 to 8.16.0.
Release notes
Sourced from newrelic_rpm's releases.
... (truncated)
Changelog
Sourced from newrelic_rpm's changelog.
... (truncated)
Commits
820423b
Merge pull request #1789 from newrelic/fix_retry_script_for_jrubyda1bebb
fix count math275ec19
Merge pull request #1779 from newrelic/8-16-04823648
Update CHANGELOG.md0c21a98
Merge branch 'dev' into 8-16-0a8ac3b5
Merge pull request #1784 from newrelic/if_a_black_and_white_movie_has_survive...e002b6f
disable, make private ActionDispatch notificationsc0770bd
Update text to match docs-website3e8ec15
Merge pull request #1777 from newrelic/resolve_intermittent_mysql_failing_to_...78b743f
Merge pull request #1776 from newrelic/increase_jruby_attemptsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)