중요
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.
v9.22.0
기능: 1단계 측정, Kubernetes용 리소스
Kubernetes APM Kubernetes 구현, 배포 내에서 에이전트 업그레이드를 자동으로 첨부하고 관리합니다. 이 기능은 미리보기에서 종료되었으며 이제 일반적으로 사용할 수 있습니다. Kubernetes 자동 연결 에 대해 자세히 알아보세요. PR#2635 PR#3287
기능: Ruby 2.4 및 Ruby 2.5 지원 중단 안내
Ruby 버전 2.4 및 2.5에 대한 Ruby 에이전트 지원은 더 이상 사용되지 않으며 에이전트 버전 10.0.0에서 제거될 예정입니다.새로운 최소 요구 Ruby 버전은 Ruby 2.6이 되며, Ruby 2.4와 2.5에 대한 테스트는 중단됩니다.PR#3288
기능:
newrelic deployments
명령에 대한 사용 중단 알림newrelic deployments
명령을 사용하여 녹화 및 배포를 지원하는 기능은 더 이상 사용되지 않으며 에이전트 버전 10.0.0에서 제거됩니다.앞으로는 뉴렐릭의 변경 사항을 기록하는 여러 가지 자동 및 수동 방법이 있습니다. 사용 가능한 옵션 목록은 변경 추적 가이드를 참조하세요. PR#3262
기능: 크로스 애플리케이션 추적을 위한 사용 중단 알림
크로스 로그 추적은 루비 에이전트의 주요 버전 8.0.0부터 더 이상 사용되지 않습니다. 에이전트 버전 10.0.0에서는 이에 대한 지원을 완전히 제거할 예정입니다. PR#3288
기능: Ruby 3.5의 Method#source_location 변경과의 호환성 보장
Method#source_location의 반환 값을 올바르게 구문 분석하도록 에이전트를 업데이트했습니다. 이 값은 Ruby 3.5에서 2개 요소에서 5개 요소로 변경됩니다.이 변경을 통해 이전 Ruby 버전에 대한 지원이 유지되고 향후 릴리스에 대한 지원이 추가됩니다.PR#3257
중요
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.
v9.21.0
기능: Serverless APM 모드에서 이벤트 소스 이름을 트랜잭션 이름 접두사로 사용
이제 에이전트는 Serverless APM 모드에서 이벤트 소스 이름을 트랜잭션 이름의 접두사로 사용합니다. 이를 통해 뉴렐릭 UI 에서 해당 소스의 출처를 더 잘 식별할 수 있습니다. PR#3245
Bugfix: 스팬이 시작되는 스레드를 추적하는 방법에 대한 변경된 논리를 되돌립니다.
이 변경 사항은 업데이트된 논리로 인해 발생한 문제를 해결하여 스팬이 시작되는 스레드를 추적하는 이전 동작을 복원합니다. @david-zw-liu 님, 이 문제를 알려주셔서 감사합니다. PR#3248
중요
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 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
중요
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 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
중요
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 thenil
segment. 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
OverLimit
exception, Sidekiq typically handles this by re-enqueuing the job. Previously, all occurrences ofSidekiq::OverLimit
were 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
nil
when they are called. Safe navigation operators have been added for protection on those occasions. PR#3049Bugfix: Ignore Solid Queue
ThreadError: queue empty
error 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 empty
error messages of theThreadError
class by default. This behavior can be adjusted using theerror_collector.ignore_messages
configuration 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
중요
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 inGemfile
would 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_records
operations. 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_name
configuration 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
nil
messagesThe agent no longer attempts to add New Relic linking metadata to logs with
nil
messages. 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.