Ruby Agent v6.15 Release
Ruby 3.0 was released on Christmas Day. The New Relic Ruby agent 6.15 has been verified with Ruby 3.0 and we officially support Ruby 3.0 with this version.
We also added support for Rails 6.1. A special thanks to @hasghari from the Ruby community for setting this up!
We’ve also added support for Sidekiq 6.0, and 6.1
Other notable fixes:
No longer overwrites sidekiq trace data
Distributed tracing data is now added to the job trace info rather than overwriting the existing data.
Fixes cases where errors are reported for spans with no other attributes
Previously, in cases where a span does not have any agent/custom attributes on it, but an error is noticed and recorded against the span, a
FrozenError: can't modify frozen Hashis thrown. This is now fixed and errors are now correctly recorded against such span events.
DistributedTracing.insert_distributed_trace_headersSupportability metric now recorded Previously, API calls to
DistributedTracing.insert_distributed_trace_headerswould lead to an exception about the missing supportability metric rather than flowing through the API implementation as intended. This would potentially lead to broken distributed traces as the trace headers were not inserted on the API call.
DistributedTracing.insert_distributed_trace_headersnow correctly records the supportability metric and inserts the distributed trace headers as intended.
Child completions after parent completes sometimes throws exception attempting to access nil parent
In scenarios where the child segment/span is completing after the parent in jRuby, the parent may have already been freed and no longer accessible. This would lead to attempting to call
descendant_completeon a Nil object. This is fixed to protect against calling the
descendant_completein such cases.
force_install_exit_handlerconfiguration flag allows an application to instruct the agent to install its graceful shutdown exit handler, which will send any locally cached data to the New Relic collector prior to the application shutting down. This useful when the primary framework has an embedded Sinatra application that is otherwise detected and skips installing the exit hook for graceful shutdowns.
Default prepend_net_instrumentation to false
prepend_net_instrumentationdefaulted to true. However, many gems are still using monkey patching on Net::HTTP, which causes compatibility issues with using prepend. Defaulting this to false minimizes instances of unexpected compatibility issues.
Note: we will be updating more instrumented gems to prepend method in the upcoming release.
Visit our Open Source Ruby Agent Repository