Version 8.13.1 of the agent provides a bugfix for Redis v5.0 instrumentation.
Fix NoMethodError when using Sidekiq v7.0 with Redis Client v0.11
In some cases, the RedisClient object cannot directly access methods like db, port, or path. These methods are always available on the client.config object. This raised a NoMethodError in environments that used Sidekiq v7.0 and Redis Client v0.11. Thank you to fcheung and @stevenou for bringing this to our attention! Issue#1639
v8.13.0
Version 8.13.0 of the agent updates our Rack, Redis, and Sidekiq instrumentation. It also delivers some bugfixes.
Support for Redis v5.0
Redis v5.0 restructures where some of our instrumented methods are located and how they are named. It also introduces a new instrumentation middleware API. This API is used for pipelined and multi calls to maintain reporting parity with previous Redis versions. However, it is introduced later in the chain, so you may see errors that used to appear at the segment level on the transaction instead. The agent's behavior when used with older supported Redis versions will remain unaffected. PR#1611
Support for Sidekiq v7.0
Sidekiq v7.0 removed Delayed Extensions and began offering client and server middleware classes to inherit from. The agent's Sidekiq instrumentation has been updated accordingly. The agent's behavior when used with older Sidekiq versions will remain unaffected. PR#1615NOTE: an issue was discovered with Sidekiq v7.0+ and addressed by Ruby agent v8.13.1. If you are using Sidekiq, please skip Ruby agent v8.13.0 and use v8.13.1 or above.
Support for Rack v3.0: Rack::Builder#new accepting a block
Via rack/rack#1942 (released with Rack v3.0), Rack::Builder#run now optionally accepts a block instead of an app argument. The agent's instrumentation has been updated to support the use of a block with Rack::Builder#run. PR#1600
Bugfix: Correctly identify Unicorn, Rainbows and FastCGI with Rack v3.0
Unicorn, Rainbows, or FastCGI web applications using Rack v3.0 may previously have had the "dispatcher" value incorrectly reported as "Webrick" instead of "Unicorn", "Rainbows", or "FastCGI". This issue has now been addressed. PR#1585
Bugfix: add_method_tracer fails to record code level metric attributes on private methods
When using add_method_tracer on a private method, the agent was unable to record code level metrics for the method. This resulted in the following being logged to the newrelic_agent.log file.
WARN : Unable to determine source code info for 'Example', method 'private_method' - NameError: undefined method 'private_method' for class '#<Class:Example>'
Thank you @jdelStrother for bringing this issue to our attention and suggesting a fix! PR#1593
Bugfix: Category is a required keyword arg for NewRelic::Agent::Tracer.in_transaction
When support for Ruby 2.0 was dropped in version 8.0.0 of the agent, the agent API methods were updated to use the required keyword argument feature built into Ruby, rather than manually raising ArgumentErrors. The API method NewRelic::Agent::Tracer.in_transaction removed the ArgumentError raised by the agent, but did not update the method arguments to identify :category as a required keyword argument. This is now resolved. Thank you @tatzsuzuki for bringing this to our attention. PR#1587
v8.12.0
Version 8.12.0 of the agent delivers new Elasticsearch instrumentation, increases the default number of recorded Custom Events, announces the deprecation of Ruby 2.3, and brings some valuable code cleanup.
Support for Elasticsearch instrumentation
... (truncated)
Commits
d689443 Merge pull request #1642 from newrelic/workflow-dispatch-ci
6ec9abb Merge pull request #1643 from newrelic/version_update_8.13.1
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)
Coverage remained the same at 78.413% when pulling 69ef8b24cecee557691e3235b82614f3b4a8c602 on dependabot/bundler/newrelic_rpm-8.13.1 into 8a55c0f0fb64999c9238dc2287c3a812fff483eb on master.
Bumps newrelic_rpm from 8.10.1 to 8.13.1.
Release notes
Sourced from newrelic_rpm's releases.
... (truncated)
Changelog
Sourced from newrelic_rpm's changelog.
... (truncated)
Commits
d689443
Merge pull request #1642 from newrelic/workflow-dispatch-ci6ec9abb
Merge pull request #1643 from newrelic/version_update_8.13.1edceae1
Update version constant 8.13.1f926d6e
Merge pull request #1640 from newrelic/bugfix/redisclient_undefined_method_dba8e83f3
CHANGELOG: inform Sidekiq v7.0 users about v8.13.1516dd6f
CI: improve Sidekiq/Redis combo test skippingeb8f2ef
CI: move Sidekiq/Redis combo test file40a4c93
add regression test for #16399d4d175
Call client.config instead of client7ab38e9
Add workflow_dispatch to ci_cronDependabot 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)