Importante
์ต์ ์์ด์ ํธ ๋ฒ์ ์ด ์ถ์๋๋ฉด ์ฆ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ, ์์ด์ ํธ๋ฅผ 90์ผ ์ด๋ด ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ธ์. ์์ด์ ํธ์๊ฒ ์ต์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
์์ด์ ํธ ๋ฆด๋ฆฌ์ค ๋ฐ ์ง์ ๋ ์ง์ ๋ํ ์ ๋ณด๋ ๋ด๋ ๋ฆญ ๋ฃจ๋น ์์ด์ ํธ EOL ์ ์ฑ ์ ์ฐธ์กฐํ์ธ์.
v9.21.0
๊ธฐ๋ฅ: Serverless APM ๋ชจ๋์์ ์ด๋ฒคํธ ์์ค ์ด๋ฆ์ ํธ๋์ญ์ ์ด๋ฆ ์ ๋์ฌ๋ก ์ฌ์ฉ
์ด์ ์์ด์ ํธ๋ Serverless APM ๋ชจ๋์์ ์ด๋ฒคํธ ์์ค ์ด๋ฆ์ ํธ๋์ญ์ ์ด๋ฆ์ ์ ๋์ฌ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ด๋ ๋ฆญ UI ์์ ํด๋น ์์ค์ ์ถ์ฒ๋ฅผ ๋ ์ ์๋ณํ ์ ์์ต๋๋ค. PR#3245
Bugfix: ์คํฌ์ด ์์๋๋ ์ค๋ ๋๋ฅผ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ณ๊ฒฝ๋ ๋ ผ๋ฆฌ๋ฅผ ๋๋๋ฆฝ๋๋ค.
์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ๋ฐ์ดํธ๋ ๋ ผ๋ฆฌ๋ก ์ธํด ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ์คํฌ์ด ์์๋๋ ์ค๋ ๋๋ฅผ ์ถ์ ํ๋ ์ด์ ๋์์ ๋ณต์ํฉ๋๋ค. @david-zw-liu ๋, ์ด ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. PR#3248
Importante
์ต์ ์์ด์ ํธ ๋ฒ์ ์ด ์ถ์๋๋ฉด ์ฆ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ, ์์ด์ ํธ๋ฅผ 90์ผ ์ด๋ด ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ธ์. ์์ด์ ํธ์๊ฒ ์ต์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
์์ด์ ํธ ๋ฆด๋ฆฌ์ค ๋ฐ ์ง์ ๋ ์ง์ ๋ํ ์ ๋ณด๋ ๋ด๋ ๋ฆญ ๋ฃจ๋น ์์ด์ ํธ EOL ์ ์ฑ ์ ์ฐธ์กฐํ์ธ์.
v9.20.0
๊ธฐ๋ฅ: Fargate์ฉ ECS ๋์ปค ID ์ถ๊ฐ
์ด์ ์๋ ๋ฃจ๋น ์์ด์ ํธ๊ฐ AWS ECS Fargate ํ๊ฒฝ์์ ์คํํ ๋ ๋์ปค ID๋ฅผ ๊ธฐ๋กํ์ง ์์์ต๋๋ค. ์ด์ ๋์ปค ID๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ธฐ๋ก๋ฉ๋๋ค. PR#3172
๊ธฐ๋ฅ: NewRelic::Helper.version_satisfied?๋ฅผ ์ถ๊ฐํ์ธ์.
์์ด์ ํธ์๋ ๋ฒ์ ๋น๊ต๋ฅผ ๋จ์ํํ๋ ์๋ก์ด ๋์ฐ๋ฏธ ๋ฉ์๋๊ฐ ์์ต๋๋ค.
NewRelic::Helper.version_satisfied?์ธ ๊ฐ์ ์ธ์๋ฅผ ํ์ฉํฉ๋๋ค. ์ผ์ชฝ ๋ฒ์ ๋ฒํธ, ๋ฌธ์์ด ํํ์ ๋น๊ต ์ฐ์ฐ์, ์ค๋ฅธ์ชฝ ๋ฒ์ ๋ฒํธ์ ๋๋ค. ์ด ๊ธฐ์ฌ์ ๋ํด @kekke-n ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. PR#3182: ๊ธฐ๊ฐ์ด ๊ตฌ์ฑ๋ ๋ ๋ฒ ๊ฐ์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์คํ ์ด ๋ฒ์์ code.stacktrace ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.
์ด์ ์์ด์ ํธ๋ ๊ธฐ๊ฐ์ด ๊ตฌ์ฑ๋ ๋ ๋ฒ ๊ฐ์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์คํ ์ด ๋ฒ์์
code.stacktrace์์ฑ์ ์ถ๊ฐํฉ๋๋ค. ๋ ๋ฒ ๊ฐ์transaction_tracer.stack_trace_threshold์ค์ ์ต์ ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค. PR#3220๊ธฐ๋ฅ: "์ ์ ์์" ์์ ๊ฐ ํตํฉ
"์ ์ ์์"์ ๋ํ ๋ค์ํ ๋๋ฌธ์ ์ฌ์ฉ ์คํ์ผ ์ฐธ์กฐ๋ ๋ชจ๋ ๋ ๊ฐ์ ์์
NewRelic::UNKNOWN๋ฐNewRelic::UNKNOWN_LOWER๋ก ํตํฉ๋์์ต๋๋ค. @tsubasa1122 ๋, ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! PR#3185๋ฒ๊ทธ ์์ : Brewfile ์์ค ๋งํฌ ์์
์ด์ ์๋ ๋ฉํฐ๋ฒ์ค README์ Brewfile์ ๋งํฌ๊ฐ ๋์ด์ก์ต๋๋ค. @emmanuel-ferdman ๊ป์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด PR์ ์ ์ถํด ์ฃผ์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! PR#3191
๋ฒ๊ทธ ์์ : HTTPX 1.5.0 ์ฌ์ฉ ์ ๋ฐ์ํ๋ ์ค๋ฅ ์์
์์ด์ ํธ๋ ์ด์ ์ ์๋ก์ด HTTPX ๋ฒ์ 1.5.0์ ์ฌ์ฉํ๋ ๋์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด๋ HTTPX๊ฐ ์๋ต์ ์ ์ฅํ๋ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ด์ ํธ๊ฐ ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋๋ก ์ ๋ฐ์ดํธ๋์ด HTTPX 1.5.0์ ์ฌ์ฉํ ๋ ๋ ์ด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. PR#3203
๋ฒ๊ทธ ์์ : ๋๋ฒ๊ทธ ์์ค ์์ด์ ํธ ๋ก๊ทธ์ ๋ํ ๋ฒ๊ทธ ์์ ๋ฐ ๊ฐ์
์์ด์ ํธ๊ฐ ์ค์ ์์ค๋ฅผ ์ฝ์ ๋ ๋๋ฒ๊ทธ ์์ค์์ ์์ด์ ํธ์ ์ํ ์ ๋ณด ๋ก๊ทธ๋ฅผ ๊ฐ์ ํฉ๋๋ค. PR#3221
๋ฒ๊ทธํฝ์ค: Slack์ ์๋ฒ์ธก ์์กฐ ์ํ ์์
๋ด๋ถ์ ์ผ๋ก๋ Slack์ ์ ๋ฐ์ดํธ๋ฅผ ๊ฒ์ํ๋ GitHub actions๋ฅผ ์ฌ์ฉํ์ฌ ์ถ์๋ ์ ฌ์ ์ถ์ ํฉ๋๋ค. [@odaysec]์ ์ด ์คํ ๋ผ์ ๋ํ ์๋ฒ ์ธก ์์กฐ ์ํ์ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค! PR#3184
๋ฒ๊ทธ ์์ : JSON.load ํธ์ถ์ JSON.parse๋ก ๊ต์ฒด
์ผ๋ฐ์ ์ผ๋ก JSON.parse๋ JSON.load๋ณด๋ค ๋ ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. @odaysec ๋, ์ด ์ฌ์ค์ ์๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! PR#3183 PR#3230
Importante
์ต์ ์์ด์ ํธ ๋ฒ์ ์ด ์ถ์๋๋ฉด ์ฆ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ, ์์ด์ ํธ๋ฅผ 90์ผ ์ด๋ด ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ธ์. ์์ด์ ํธ์๊ฒ ์ต์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
์์ด์ ํธ ๋ฆด๋ฆฌ์ค ๋ฐ ์ง์ ๋ ์ง์ ๋ํ ์ ๋ณด๋ ๋ด๋ ๋ฆญ ๋ฃจ๋น ์์ด์ ํธ EOL ์ ์ฑ ์ ์ฐธ์กฐํ์ธ์.
v9.19.0
๊ธฐ๋ฅ: ๋ชจ๋ ์คํฌ์ ์ค๋ ๋ ID๋ฅผ ์์ฑ์ผ๋ก ์ถ๊ฐ
์ด์ ์์ด์ ํธ๋ ๊ฐ ์คํฌ์ ์์ฑ์ผ๋ก ์ค๋ ๋ ID๋ฅผ ๊ธฐ๋กํฉ๋๋ค. PR#3122
: W3C TraceContext Traces ํ๋๊ทธ์ ๋ํ ์ง์ ์ถ๊ฐ
์ด์ ์๋ ์์ด์ ํธ๊ฐ ์ํ๋ง ๊ฒฐ์ ์ ์ํด traceparent ํค๋์ ํธ๋ ์ด์ค ํ๋๊ทธ ํ๋๋ฅผ ์ฌ์ฉํ์ง ์์์ต๋๋ค. ์ด๋ก ์ธํด UI ์ ์กฐ๊ฐ๋ ํธ๋ ์ด์ค๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝ๋์ง ์์ง๋ง ์ํ๋ง ๊ฒฐ์ ๋ฐฉ์์ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ ์ ์๋๋ก ๋ ๊ฐ์ง ์๋ก์ด ์ค์ ์ต์ ์ธ
distributed_tracing.sampler.remote_parent_sampled๋ฐdistributed_tracing.sampler.remote_parent_not_sampled์ด ๋์ ๋์์ต๋๋ค. PR#3135๋ฒ๊ทธ ์์ : ๊ธฐ๋ณธ์ ์ผ๋ก Transaction ์ด๋ฒคํธ์ request.uri๋ฅผ ํฌํจํฉ๋๋ค.
๋ด๋ ๋ฆญ ๋ฐ์ดํฐ ์ฌ์ ์ ํธ๋์ญ์ ์ด๋ฒคํธ์
request.uri์์ฑ์ด ์์ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ด์ ๋ฃจ๋น ์์์ด ์ด๋ฌํ ๊ธฐ๋๋ฅผ ์ถฉ์กฑ์์ผ ๋๋ฆฝ๋๋ค.request.uri๊ฑฐ๋ ์ด๋ฒคํธ์์ ์ ์ธํ๋ ค๋ฉดtransaction_events.attributes.exclude'request.uri'์ผ๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค. PR#3103๋ฒ๊ทธ ์์ : perform_all_later๋ฅผ ์ฌ์ฉํ ๋ ํ์ฑ ์์ ์ธก์ , ๊ณ์ธก์์ ๋ฐ์ํ๋ ์ค๋ฅ ์์
์ด์ ์๋ Active Job์
perform_all_later๋ฉ์๋๊ฐ ํธ์ถ๋๊ณ ์์ด์ ํธ๊ฐ ์คํ ์ค์ด๋ฉดundefined method 'queue_name' for nil๋ฉ์์ง์ ํจ๊ปNoMethodError์ด ๋ฐ์ํ์ต๋๋ค. ํด๋น ์ค๋ฅ๋ ์์ ๋์์ผ๋ฉฐ ์ธ๊ทธ๋จผํธ ์ด๋ฆ์ ๋๊ธฐ์ด์ ์ฒซ ๋ฒ์งธ ์์ ์ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ์๊ณ ์์ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ @tan-linx ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. PR#3110
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.18.0
Feature: Add elasticsearch.capture_cluster_name configuration option
A new configuration option,
elasticsearch.capture_cluster_name, has been added to control capturing Elasticsearch cluster names. Cluster names are captured by default, but can now be disabled as needed. PR#3038Feature: Add support for sidekiq-delay_extensions
Sidekiq delay extensions were removed from Sidekiq in 7.x and are now avaliable through the sidekiq-delay_extensions gem. Thanks to @sobrinho, the agent now has continued support for delay extensions.PR#3056
Feature: Parallelize calls for vendor metadata
Previously, the agent would make calls for vendor metadata in a serial fashion. This could lead to a delay in starting the agent. Now, the agent will make these calls in parallel, reducing the time it takes to start the agent. PR#3094
Bugfix: Prevent a nil segment from causing errors in Net::HTTP instrumentation
When using JRuby, a race condition can happen that causes the segment creation to fail and return
nil. This would cause an error to occur when methods were later called on thenilsegment. These methods will no longer be called if the segment isnil, preventing that error from occurring. PR#3046Bugfix: JRuby multithreading improvements
Added some additional nil checks and mutexes to prevent issues when using the agent on JRuby with multiple threads. Thanks to @NC-piercej for bringing this to our attention Issue#3021 PR#3053
Bugfix: Stop reporting rescued Sidekiq::OverLimit exceptions
When Sidekiq's concurrent rate limiters encounter an
OverLimitexception, Sidekiq typically handles this by re-enqueuing the job. Previously, all occurrences ofSidekiq::OverLimitwere logged as errors in New Relic, even when Sidekiq's middleware resolved the exception. New Relic will no longer report errors that are handled by Sidekiq's own middleware. Thanks to @97jaz for reporting this issue. Issue#3037 PR#3047Bugfix: Protect against nil agents or health checks
In some cases the agent or health checks may be
nilwhen they are called. Safe navigation operators have been added for protection on those occasions. PR#3049Bugfix: Ignore Solid Queue
ThreadError: queue emptyerror message by defaultWhen using the solid_queue gem, the agent previously generated excessive warn-level logs when the queue was empty. The agent now ignores
queue emptyerror messages of theThreadErrorclass by default. This behavior can be adjusted using theerror_collector.ignore_messagesconfiguration option. PR#3060Bugfix: Refactor URI host handling to accommodate downcasing frozen strings
When URI host string was frozen, a FrozenError would be raised when the agent attempted to downcase the host as part of its data normalization process. Now, the update is friendly for frozen strings. Thank you @pedrol3001 for your contribution! PR#3097
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.17.0
Feature: Support Ruby 3.4.0
The agent now supports Ruby 3.4.0. We've made incremental changes throughout the preview stage to reach compatibility. This release includes an update to the Thread Profiler for compatibility with Ruby 3.4.0's new backtrace format. Issue#2992 PR#2997
Feature: Add instrumentation for aws-sdk-firehose
The agent now has instrumentation for the aws-sdk-firehose gem. PR#2973
Feature: Kubernetes APM auto-attach - new agent version precedent
Previously, when a customer installed the Ruby agent via Kubernetes APM auto-attach and also had the Ruby agent listed in their
Gemfile, the agent version inGemfilewould take precedence. Now, the agent version installed by auto-attach takes priority. PR#3018Feature: Add health checks when the agent runs within Agent Control
When the agent is started within an Agent Control environment, a health check file will be created at the configured file location for every agent process. By default, this location is: '/newrelic/apm/health'. The health check files will be updated at the configured frequency, which defaults to every five seconds. PR#2995
Feature: Add Redshift as recognized ActiveRecord adapter
When the agent does not recognize an ActiveRecord adapter, the host, port, and database name information is not added to the datastore span. Redshift will now be treated like PostgreSQL, and the agent will save the host, port, and database name on the span. PR#3032
Feature: Add instrumentation for aws-sdk-kinesis
The agent now has instrumentation for the aws-sdk-kinesis gem. It will record message broker segments for
get_records,put_record, andput_recordsoperations. All other operations will record standard segments. PR#2974Bugfix: Stop emitting inaccurate debug-level log about deprecated configuration options
In the previous major release, we dropped support for many
disable_library_nameconfiguration options in favor ofinstrumentation.library_name. Previously, a DEBUG level log warning appeared wheneverdisable_*options were set totrue, even for libraries (e.g. Action Dispatch) without equivalentinstrumentation.*options:
>DEBUG : [DEPRECATED] configuration disable_library_name for library_name will be removed in the next major release. Use instrumentation. library_name with one of ["auto", "disabled", "prepend", "chain"]This inaccurate warning has been removed. If you are disabling instrumentation using instrumentation.library_name: disabled or NEW_RELIC_INSTRUMENTATION_LIBRARY_NAME=disabled, please verify the option exists by consulting our configuration documentation. If the option does not exist, check the 'Disabling' section to see if there is a related option. We apologize for the confusion. PR#3005
Bugfix: Do not attempt to decorate logs with
nilmessagesThe agent no longer attempts to add New Relic linking metadata to logs with
nilmessages. Thank you, @arlando for bringing this to our attention! Issue#2985 PR#2986Bugfix: Stop renaming final Grape segment
Previously, the agent renamed the final segment in Grape transactions to
"Middleware/Grape/#{class_name}/call". This was a part of an old instrumentation pattern that is no longer relevant. Many thanks to @seriousdev-gh for bringing this issue to our attention and along with a great reproduction and suggested fix. PR#2987.
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.16.1
Bugfix: Added the support for the Trilogy database adapter.
The agent now fully supports the Trilogy, a client library for MySQL-compatible database servers, and correctly lists MySQL as the corresponding database in the UI. PR#2966.
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.16.0
Version 9.16.0 introduces the following features and bug fixes:
Feature: Instrumentation for aws-sdk-lambda
When the aws-sdk-lambda gem is available and used to invoke remote AWS Lambda functions, the timing and error details of the invocations will be reported to New Relic. PR#2926.
Feature: Add new configuration options to attach custom tags (labels) to logs
The Ruby agent now allows you to opt-in to adding your custom tags (labels) to agent-forwarded logs. With custom tags on logs, platform engineers can easily filter, search, and correlate log data for faster and more efficient troubleshooting, improved performance, and optimized resource utilization. PR#2925
Feature: Update View Component instrumentation+
The
.identifiermethod will be formally exposed as part of the View Component public API. The agent will now use this method for building metric names when available, ensuring ongoing compatibility with all View Component versions. PR#2956Bugfix: Record explain plan traces on Rails 7.2+
Rails 7.2 removed adapter-specific connection methods (ex.
ActiveRecord::Base.postgresql_connection) and replaced them withActiveRecord::Base.with_connection. Our explain plan feature relies on making a connection to the database to create an explain plan trace. Due to a bug in our tests, we missed this regression. Now, the agent uses the new method to fetch explain plans on Rails 7.2+. Thank you, @gsar and @gstark for bringing this to our attention! Issue#2922 PR#2940
Importante
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.15.0
Version 9.15.0 updates View Component instrumentation to use a default metric name when one is unavailable, adds a configuration option to associate the AWS account ID with the DynamoDB calls from the AWS SDK, resolves a bug in rdkafka instrumentation when using the karafka-rdkafka gem, resolves a bug in the ruby-kafka instrumentation, fixes a bug with Grape instrumentation, and addresses a bug preventing the agent from running in serverless mode in an AWS Lambda layer.
Feature: New configuration option cloud.aws.account_id
A new configuration option has been added,
cloud.aws.account_id, that will allow New Relic to provide more details about certain calls made using the AWS SDK. For example, relationships between AWS services instrumented with New Relic's CloudWatch Metric Streams will have relationships formed in the service map with APM applications. Currently, the DynamoDB instrumentation is the only instrumentation that will make use of this configuration option, but this will be used in future instrumentation as well. PR#2904Feature: Use default
View/componentmetric name for unidentified View ComponentsPreviously, when a View Component metric name could not be identified, the agent would set the name as
nil. Now, the agent defaults to usingView/componentas the metric name when one can not be identified. PR#2907Bugfix: Instrumentation errors when using the karafka-rdkafka gem
Due to version differences between the rdkafka gem and karafka-rdkafka gem, the agent could encounter an error when it tried to install rdkafka instrumentation. This has now been resolved. Thank you to @krisdigital for bringing this issue to our attention. PR#2880
Bugfix: Stop calling deprecated all_specs method to check for the presence of newrelic-grape
In 9.14.0, we released a fix for calls to the deprecated
Bundler.rubygems.all_specs, but the fix fell short for the agent's Grape instrumentation and deprecation warnings could still be raised. The condition has been simplified and deprecation warnings should no longer be raised. Thank you, @excelsior for bringing this to our attention. Issue#2885 PR#2906Bugfix: Instrumentation errors when using the ruby-kafka gem
Kafka::Consumer#each_message takes keyword arguments, while the prepended method is defined with a single splat positional argument. In Ruby >= 3.0, this signature mismatch raises an ArgumentError. Thank you @patrickarnett for providing this bugfix. PR#2915
Bugfix: Restore AWS Lambda layer operational functionality
Version 9.14.0 of the agent introduced an optimization related to how the agent handles boolean configuration parameters which inadvertently caused the agent to stop operating properly in an AWS Lambda layer context. Issue#2919PR#2920