• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

Ruby agent release notesRSS

August 6
Ruby agent v10.7.0

중요

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.

v10.7.0

  • Feature: Add transaction_tracer.cap_segment_artifacts configuration option

    Long-running transactions with many segments can cause continuously increasing memory usage for the lifetime of the transaction. The agent now offers an opt-in transaction_tracer.cap_segment_artifacts configuration option (defaults to false). When enabled, once transaction_tracer.limit_segments is reached, the agent also stops recording exclusive time for any segments created afterward in that transaction, reducing memory usage at the cost of less accurate timing data for the transaction. PR#3615

  • Feature: Add Puma server-statistics instrumentation

    The agent now samples Puma's cluster-wide server statistics and reports them as Ruby/Puma/* timeslice metrics, including backlog, running, pool_capacity, max_threads, and requests_count. Statistics are sampled in single mode and in clustered mode when preload_app! is enabled. This instrumentation is disabled by default. Enable it by setting disable_puma_instrumentation to false. When enabled, the agent starts a reporting thread in the Puma master process to deliver these metrics, which runs an additional agent connection alongside the Puma workers. The sampling interval is configurable via the new puma.sample_rate setting (default 60 seconds). Requires Puma 6.6 or later. See our docs for more information. PR#3578

  • Feature: Report a unique hostname for Google Cloud Run instances

    The agent now detects Cloud Run and reports the GCP instance id as the hostname so individual instances can be distinguished. Before this change, all Google Cloud Run hostnames were localhost. This feature is controlled by the new utilization.gcp_cloud_run.use_instance_as_host configuration option (default true). Set utilization.gcp_cloud_run.include_revision_in_host (default false) to true to report the hostname as {K_REVISION}-{instance id} instead, where K_REVISION is the Cloud Run revision name. Issue#3295 PR#3609

  • Bugfix: Slow SQL no longer recorded after transaction_tracer.limit_segments exceeded

    Once a transaction exceeded transaction_tracer.limit_segments, datastore segments created afterward still could have their slow SQL recorded. The agent now stops recording slow SQL for any segment created after the limit is reached. PR#3615

  • Bugfix: Explain plans could target the wrong database in multi-database Rails apps (Rails >= 7.2)

    On Rails 7.2+, the agent gathered explain plans using a connection from the app's default/shared pool rather than a dedicated one. This primarily affected multi-database apps. Explain plans could be generated against the wrong database, and a failed explain could leave a shared connection in a bad state, affecting unrelated requests. The agent now uses its own dedicated connection for explain plans, as it did before Rails 7.2, and resets or discards that connection whenever an explain attempt fails, so a bad connection is never reused. Issue#3610 PR#3612

  • Bugfix: Browser monitoring instrumentation no longer fails with FrozenError

    When a response body's first fragment was a frozen String and there were multiple fragments, browser instrumentation hit a FrozenError and the browser timing header was never injected. This began appearing with ERB 6.0.3+, which started freezing more of its compiled strings. This issue is now fixed. Issue#3624 PR#3625

  • Bugfix: Normalize boolean configuration values to allow all casing

    In version 9.x, the agent accepted capitalized boolean values, like "FALSE", and mixed-case values like "True". Version 10.0.0 included PR#3341, which unintentionally removed the case-insensitive requirement. This caused users who had any casing besides all lowercase to have their configuration options fall back to the defaults. Now, the agent uses case-insensitive checks again. Issue#3632 PR#3633

June 25
Ruby agent v10.6.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v10.6.0

  • 기능: 이제 하이브리드 에이전트에서 SpanLink 이벤트가 지원됩니다.

    이제 OpenTelemetry API에서 생성된 스팬에 스팬 링크 를 연결할 수 있습니다. 링크는 스팬이 시작될 때 links 인수에 전달하거나 OpenTelemetry::Trace::Span#add_link API를 호출하여 추가할 수 있습니다. PR#3586

  • 기능: 이제 하이브리드 에이전트에서 SpanEvent 이벤트가 지원됩니다.

    이제 OpenTelemetry API에서 생성된 스팬은 OpenTelemetry::Trace::Span#add_event API를 통해 SpanEvent 이벤트 와 연결될 수 있습니다. SpanEvent 이벤트는 스팬에서 타임스탬프가 지정된 주석을 캡처하고 상위 스팬과 함께 뉴렐릭으로 전송됩니다. PR#3587

  • 기능: 모든 하이브리드 에이전트 스팬에 스팬 종류 설정

    이전에는 외부 요청 세그먼트나 데이터스토어 세그먼트로 변환된 OpenTelemetry 스팬만 스팬 종류를 속성으로 추가했습니다. 이제 에이전트는 값을 사용할 수 있는 모든 OpenTelemetry 스팬에 스팬 종류를 추가합니다. PR#3589

  • 기능: OpenTelemetry::Tracer#start_root_span에 대한 지원 추가

    이제 OpenTelemetry::Tracer#start_root_span API를 사용하여 스팬 종류가 :server 또는 :consumer 인 경우 주어진 스팬에 대해 트랜잭션을 강제로 시작할 수 있습니다. 다른 스팬 종류의 경우 아무 작업도 수행하지 않습니다. 이 메서드는 백그라운드 작업 계측에 가장 일반적으로 사용됩니다. PR#3588

  • 버그 수정: instrumentation.rails_event_logger: false 이(가) 계측을 비활성화하지 않는 문제 수정

    이전에는 instrumentation.rails_event_logger 을(를) false (으)로 설정해도 예상대로 Rails.event 계측이 비활성화되지 않았으며, Rails 부팅 중에 여전히 설치되었습니다. 이제 이 문제가 수정되었습니다. PR#3564

  • 버그 수정: 계측 구성 키에 대해 부울과 유사한 값을 disabled (으)로 정규화

    이전에는 disabledinstrumentation.* 구성 키를 끌 수 있었습니다. 이제 false, no 또는 off 와 같은 부울과 유사한 값도 disabled (으)로 확인되어 계측이 설치되는 것을 방지합니다. PR#3579

  • 버그 수정: 이제 라이브러리별 로깅 지원 가능성 메트릭에 각 라이브러리의 계측 상태가 반영됩니다

    이전에는 Supportability/Logging/Ruby/{library}/{enabled|disabled} 메트릭이 각 라이브러리의 실제 상태가 아니라 모든 라이브러리에 대한 전역 application_logging.enabled 설정 값을 보고했습니다. 결과적으로 특정 라이브러리에 대한 로깅 계측을 비활성화했거나 해당 라이브러리의 gem을 전혀 사용하지 않은 경우에도 메트릭은 enabled 을(를) 보고했습니다. 이제 각 라이브러리의 메트릭은 자체 로깅 계측이 활성화되어 있는지 여부를 반영합니다. PR#3571

May 14
Ruby agent v10.5.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v10.5.0

  • 기능: Dalli 5.0 지원 추가 및 메타 프로토콜 계측 수정

    이제 에이전트는 메타 프로토콜을 전적으로 사용하기 위해 Dalli::Protocol::Binary 을(를) 제거한 Dalli 5.0+를 지원합니다. Dalli 3.2.0+의 경우, pipelined_get 계측은 이제 Dalli::Protocol::Binary 대신 Dalli::Protocol::Base (메서드가 정의된 곳)를 올바르게 타겟으로 지정하여, 메타 프로토콜을 사용할 때 get_multi 호출이 계측되지 않던 문제를 해결합니다. Dalli 5.0+의 경우, 에이전트는 Dalli의 단일 서버 get_multi 최적화에 의해 호출되는 Dalli::Protocol::Meta#read_multi_req을(를) 추가로 계측합니다. PR#3541

  • 기능: active_record_use_table_name 설정 옵션 추가

    새로운 설정 옵션인 active_record_use_table_name은(는) 메트릭, 스팬 및 트랜잭션 트레이스 세그먼트의 이름을 지정할 때 Active Record 모델의 클래스 이름 대신 테이블 이름을 사용합니다. 이는 단일 테이블 상속을 사용하는 애플리케이션에서 카디널리티를 줄이는 데 특히 도움이 될 수 있습니다. 기존 동작을 유지하기 위해 옵션은 기본적으로 false (으)로 설정됩니다. PR#3540

  • 기능: 에이전트 로그에서 라이선스 키 부분 삭제

    이전에는, 에이전트가 에이전트 로그에서 뉴렐릭 라이선스 키를 완전히 삭제했습니다. 이제 처음 10자는 표시되고 나머지는 *(으)로 대체됩니다. 이는 키의 비밀 부분을 노출하지 않고도 리전 관련 문제를 해결하기에 충분한 정보를 보존합니다. PR#3547

  • 버그 수정: Semantic Logger 계측 비호환성 수정 rails_semantic_logger

    이전에는 rails_semantic_logger을(를) 사용하는 동안 예외가 ActionDispatch::DebugExceptions 에 도달하면 ArgumentError 이(가) 발생했습니다. 수정되었다. 이를 제보해 주신 @jdelStrother 님께 감사드립니다! PR#3548

April 16
Ruby agent v10.4.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v10.4.0

  • 기능: 구조화된 로깅을 위한 Rails.event 계측 추가

    이제 에이전트는 Rails.event를 구조화된 로그 이벤트로 지원합니다. 활성화되면 Rails.event.notify 을(를) 통해 게시된 이벤트는 캡처되어 로그 이벤트로 뉴렐릭에 전달됩니다. 이벤트 페이로드, 태그, 컨텍스트, 타임스탬프 및 소스 위치는 로그 속성으로 자동으로 캡처됩니다.

    이 계측은 다음 옵션으로 구성할 수 있습니다:

    • instrumentation.rails_event_logger - Rails.event 계측이 활성화되는지 여부를 제어합니다. 기본적으로 application_logging.enabled 값을 사용합니다.
    • instrumentation.rails_event_logger.event_names - 캡처할 특정 이벤트 이름의 어레이입니다. 비어 있는 경우(기본값), 모든 Rails.event 공지가 캡처됩니다. 이를 사용하여 이름별로 이벤트를 필터링합니다. 예: ['user.signup', 'payment.processed'].

    PR#3526

  • 기능: Rails Active Job Continuations 계측 추가

    이제 에이전트가 Rails Active Job Continuations를 계측하여 장기 실행 작업 내의 개별 단계 실행에 대한 가시성을 제공합니다. 단계 이름은 세그먼트 메트릭(예: Ruby/ActiveJob/default/MyJob/step/process_records)에 포함되며 커서 위치, 재개 상태, 중단 상태와 같은 단계별 속성이 캡처됩니다. 새로운 설정 옵션인 disable_active_job_step_names을(를) 통해 사용자는 필요한 경우 메트릭 기수를 줄이기 위해 메트릭 이름에서 단계 이름을 제외할 수 있습니다(기본값은 false입니다). PR#3493

  • 기능: sidekiq.separate_transactions 추가 설정 옵션

    새로운 설정 옵션인 sidekiq.separate_transactions을(를) 사용하면 웹 트랜잭션 중에 실행되는 Sidekiq 작업을 별도의 자체 트랜잭션에서 실행할 수 있습니다. 활성화하면 Sidekiq 작업 실행 시간이 웹 트랜잭션 메트릭에 포함되는 것을 방지하여 더 정확한 성능 데이터를 제공합니다. 이 기능은 역호환성을 유지하기 위해 선택 사항(기본값: false)입니다. 이는 활성 웹 트랜잭션 중에 실행되는 작업에만 영향을 미치며, 독립적으로 시작되거나 다른 백그라운드 작업 내에 중첩된 작업은 영향을 받지 않습니다. Issue#3364 PR#3514

  • 버그 수정: ReDOS 공격에 취약했을 수 있는 정규식 업데이트

    이전에는 에이전트에 다항 시간 복잡도(ReDOS) 공격의 가능한 타겟으로 식별된 몇 가지 정규식이 있었습니다. 우려 사항을 해결하기 위해 해당 정규식이 업데이트되었습니다. PR#3520

  • Bugfix: HTTPX 세그먼트 생성 중 충돌을 방지합니다.

    이전에는 start_external_request_segment 에서 오류가 발생하여 nil을(를) 반환하면, 에이전트는 누락된 세그먼트에 헤더를 추가하려고 시도할 때 NoMethodError 을(를) 트리거했습니다. 계측이 이러한 경우를 원활하게 처리할 수 있도록 가드 검사를 추가했습니다.

    보고서를 작성해 주신 @thebravoman 님께 박수를 보냅니다! 이슈#3509 PR#3510

  • 버그 수정: Transaction#finish를 멱등하게 만들기

    이전에는 Transaction#finish 메서드가 여러 번 호출되면 동일한 작업에 대해 둘 이상의 트랜잭션이 생성될 수 있었습니다. 이제 뮤텍스가 Transaction#finish에 대한 호출을 보호하여 finish 작업이 한 번만 실행되도록 합니다. PR#3513

  • 버그 수정: Datastores.wrap API의 Log 기능에 대한 사용 중단 경고 (1회)

    이전에는 Datastores.wrap에 대한 모든 호출에서 이 경고가 로그에 기록되었습니다. 이제 첫 번째 호출에만 로그가 기록됩니다. 또한, 두 번째 및 세 번째 콜백 인수의 사용 중단 상태를 명시하도록 문서가 업데이트되었습니다. 이슈#3516 PR#3519

April 9
Ruby agent v10.3.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v10.3.0

  • 기능: SQL 주석을 통해 데이터베이스 쿼리 이름 지정 추가

    이제 SQL 주석을 사용하여 데이터베이스 쿼리에 명시적인 이름을 지정할 수 있습니다. 쿼리에는 추적 및 식별을 개선하기 위해 안정적인 이름을 지정하는 /* NewRelicQueryName: CustomName */ 주석이 포함될 수 있습니다. 이는 성능 회귀 또는 인시던트 중에 특정 데이터베이스 쿼리를 추적하는 데 특히 유용합니다. PR#3480

  • 기능: 의미론적 로거 측정 추가, 로그

    에이전트는 이제 semantic_logger gem 버전 4.6.0+에 대한 Semantic 로거 로그 포워딩 및 장식을 지원합니다. 이전에 Semantic 로거의 내장 뉴렐릭 어펜더를 사용하셨다면, 중복 로그 전송을 방지하기 위해 한 가지 방법을 선택하시는 것이 좋습니다. 뉴렐릭의 Semantic 로거 측정, 리소스는 instrumentation.semantic_loggerdisabled 로 설정하여 비활성화할 수 있습니다. PR#3467

    @jdelStrother 님께서 귀중한 피드백을 제공해 주셔서 이 측정, 계측을 구체화하는 데 도움이 되었습니다.

  • 기능: 'ignored_middleware_classes' 설정을 새로 추가합니다.

    새로운 설정 옵션인 ignored_middleware_classes 사용하면 사용자가 측정, 로그에서 특정 미들웨어를 제외할 수 있습니다(예: 랙::코어스). 기본적으로 비어 있는 다시입니다. 이슈 번호 1814 PR 번호 3481

  • 기능: 새로운 NewRelic::Agent.add_transaction_log_attributes API 추가

    새 API 인 NewRelic::Agent.add_transaction_log_attributes) 사용하면 사용자가 현재 프로세서에 대한 프로세서 범위의 관습 속성 등록 이벤트를 추가할 수 있습니다. 이러한 속성은 현재 트랜잭션 범위 내에서 생성된 로그에만 적용됩니다. PR#3472

  • 버그 수정: ActionCable 브로드캐스트 메트릭의 카디널리티를 줄이는 구성 옵션을 제공합니다.

    기본적으로 ActionCable 브로드캐스트 메서드 호출에 대한 메트릭에는 브로드캐스팅 값이 포함됩니다. 이 값은 매우 높은 카디널리티를 가질 수 있습니다. 이제 :simplify_action_cable_broadcast_metrics 설정 옵션을 사용하면 지표 이름에서 방송 값을 제거할 수 있습니다. 이것은 다음과 같은 형태를 갖는 것을 생성합니다: Ruby/ActionCable/broadcast. 이 설정 옵션을 활성화하면 브로드캐스팅 값이 span 속성으로 추가됩니다. PR#3463

  • 버그 수정: FIPS/FedRAMP 규정 준수를 위한 더 이상 필요 없는 'digest/md5' 요구 사항을 제거했습니다.

    에이전트 버전 7.1.0에서는 FIPS 규정 준수를 위해 MD5 사용이 SHA1으로 대체되었습니다 (PR). 하지만 기존의 'digest/md5' 요구 사항은 제거되지 않았습니다. FIPS/FedRAMP 사용자들을 지원하기 위해 해당 요구 사항을 제거했습니다. 이 문제를 알려주신 @ashleyboehs 님께 감사드립니다! 이슈 번호 3469 PR 번호 3470

  • 버그 수정: 종료 지연을 방지하기 위해 rails test 동안 에이전트가 시작되지 않도록 수정했습니다.

    이전에는 에이전트가 rails test 명령을 실행할 때 약 3초의 종료 지연이 발생했습니다. Rails::Command::TestCommand 상수는 Rails 테스트 실행 중에 에이전트가 시작되는 것을 방지하기 위해 기본 autostart.denylisted_constants 목록에 추가되었습니다. 이 문제를 알려주신 @varyform 님께 감사드립니다. PR#3478

  • 버그 수정: Falcon 웹 서버 사용 시 "경과된 작업 시간을 계산할 수 없습니다"라는 경고 메시지를 수정했습니다.

    이제 Falcon 에서 실행될 때 상태를 추적하기 위해 Thread.current.object_id 대신 Fiber.current.object_id 사용하여 동일한 스레드를 공유하는 동시 requests 으로 인한 충돌을 방지합니다. 또한 Falcon을 사용할 때 발생하는 "NameError: uninitialized constant Async::HTTP::VERSION" 오류를 수정합니다. 이 문제를 알려주신 @97jaz님@gsar 님께 감사드립니다. PR#3483

  • 버그 수정: harvest.rb 파일의 오타로 인해 발생하던 NoMethodError 오류를 수정했습니다.

    lib/new_relic/agent/agent_helpers/harvest.rb 의 오타로 인해 NoMethodError: undefined method 'agent' for NewRelic:Module 이 발생했습니다. 이 문제를 제보해 주신 @oakbow 님께 감사드립니다. PR#3484

  • 버그 수정: 더 이상 사용되지 않는 ObjectSpace._id2ref 사용을 제거했습니다.

    이제 해당 도구는 더 이상 사용되지 않는 ObjectSpace._id2ref 방법 대신 대체 접근 방식을 사용하므로 루비 4.0 이상에서 실행 시 사용 중단 경고가 사라집니다. PR#3490

  • 버그 수정: Logging 측정, 리소스의 NoMethoError 수정

    이전에 Logging gem 측정, 계측이 로컬 로그를 데코레이션하려고 시도할 때 문자열이 아닌 객체를 만나면 NoMethodError 오류가 발생했습니다. 이 문제는 이제 해결되었습니다. PR#3501

February 18
Ruby agent v10.2.0

중요

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.

v10.2.0

  • Feature: Introduce Hybrid Agent for OpenTelemetry Tracing Support

    OpenTelemetry Tracing APIs can now be translated into New Relic telemetry with the New Relic Ruby agent's new Hybrid Agent features. This allows the newrelic_rpm gem to behave similarly to an OpenTelemetry SDK, accepting OpenTelemetry API calls and turning them into New Relic Transactions and Segments with familiar attributes and names.

    The following configuration options relate to Hybrid Agent features:

    Configuration nameDefaultBehavior
    opentelemetry.enabledfalseA global configuration option for disabling all OpenTelemetry signals sent through New Relic.
    opentelemetry.traces.enabledtrueEnables the creation of Transaction Trace segments and timeslice metrics from OpenTelemetry Spans
    opentelemetry.traces.include''A comma-delimited list of OpenTelemetry Tracers, represented as a string (e.g. "AppTracer1,OpenTelemetry::Instrumentation::Bunny::Instrumentation"), that will have their trace signals sent to New Relic.
    opentelemetry.traces.exclude''A comma-delimited list of OpenTelemetry Tracers, represented as a string (e.g. "AppTracer1,OpenTelemetry::Instrumentation::Bunny::Instrumentation"), that will not have their trace signals sent to New Relic. All known tracers for instrumentation that conflicts with New Relic instrumentation are excluded by default.
  • Feature: Add configuration option error_collector.backtrace_truncate_location

    A new configuration option has been added, error_collector.backtrace_truncate_location, which allows the user to specify where in the backtrace to truncate when the number of frames exceeds error_collector.max_backtrace_frames. Options are 'top' (removes frames from the beginning), 'middle' (removes frames from the middle, preserving the beginning and end), or 'end' (removes frames from the end). The default is 'middle'. PR#3424

  • Feature: Add Logging gem instrumentation

    The agent will now record logs generated by the Logging gem. PR#3420

  • Feature: Add configuration option utilization.detect_in_parallel

    A new configuration option has been added, utilization.detect_in_parallel, which controls whether the agent uses threads when detecting cloud vendor information to speed up agent startup. When set to false, vendor detection runs sequentially without creating threads. The default is true. PR#3439

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.