v3.18.0
Ruby 2.4.0 support
The agent is now tested against the official release of ruby 2.4.0, excluding incompatible packages.
Agent-based metrics will not be recorded outside of active transactions
The agent has historically recorded metrics outside of a transaction. In practice, this usually occurs in applications that run background job processors. The agent would record metrics for queries the background job processor is making between transactions. This can lead to display issues on the background overview page and the presence of metrics generated by the background job processor can mask the application generated metrics on the database page. The agent will no longer generate metrics outside of a transaction. Custom metrics recorded using
NewRelic::Agent.record_metric
will continue to be recorded regardless of whether there is an active transaction.Include ControllerInstrumentation module with ActiveSupport.on_load
The agent will now use the
on_load :action_controller
hook to include the ControllerInstrumentation module in to both theBase
andAPI
classes of ActionController for Rails 5. This ensures that the proper load order is retained, minimizing side-effects of having the agent in an application.Ensure values for revisions on Capistrano deploy notices
Previously, running the task to look up the changelog could generate an error, if there weren't previous and current revisions defined. This has now been fixed. Thanks Winfield Peterson for the contribution!
External Segment Rewrites
The agent has made internal changes to how it represents segments for external web requests.