重要
주요 버전 업데이트: 이번 루비 버전은 SemVer MAJOR 업데이트이며 호환성이 깨지는 변경 사항이 포함되어 있습니다. 주요 버전에서는 유지 관리자가 지원 종료(End-of-Life)를 선언한 언어 런타임에 대한 지원을 중단할 수 있습니다. 또한, 주요 버전에서는 특정 측정, 계측에 대한 지원이 중단되거나 해당 기능이 제거될 수 있습니다. 이러한 변경 사항에 대한 자세한 내용은 여기에서 마이그레이션 가이드를 참조하십시오.
重要
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.
v10.0.0
호환성 파괴 변경 사항: 루비 2.4 및 2.5 버전에 대한 지원을 제거합니다.
루비 버전 2.4 및 2.5에 대한 지원이 제거되었습니다. 새로운 최소 요구 루비 버전은 2.6입니다. PR#3314
획기적인 변화: CAT(Standing Tracing) 제거
이전에는 CAT(강력한 추적)가 더 이상 사용되지 않고 대신 추적되었습니다. CAT 기능이 제거되었습니다. 설정 옵션
cross_application_tracer.enabled이 제거되었습니다. 공개 API 메서드NewRelic::Agent::External.process_request_metadata,NewRelic::Agent::External.get_response_metadata,NewRelic::Agent::Transaction::ExternalRequestSegment#process_response_metadata,NewRelic::Agent::Transaction::ExternalRequestSegment#get_request_metadata및NewRelic::Agent::Transaction::ExternalRequestSegment#read_response_headers도 제거되었습니다. PR#3333주요 변경 사항: ActiveJob 메트릭 및 세그먼트 이름 변경
ActiveJob 메트릭이 업데이트되어 보다 구체적인 보고를 위해 작업 클래스 이름이 포함되었습니다. 이는 주요 변경 사항이므로 사용자 정의 대시보드 또는 알림을 업데이트해야 할 수도 있습니다. PR#3370 PR#3320
- 이전 형식:
Ruby/ActiveJob/<QueueName>/<Method> - 새로운 형식:
Ruby/ActiveJob/<QueueName>/<ClassName>/<Method>
또한, 활성 작업 대기열 작업에 대해 생성된 세그먼트에는 이제 작업 클래스가 포함됩니다.
- 이전 형식:
ActiveJob/<QueueAdapter>/Queue/<Event>/Named/<QueueName> - 새로운 형식:
ActiveJob/<QueueAdapter>/Queue/<Event>/Named/<QueueName>/<ClassName>
- 이전 형식:
호환성 파괴 변경:
bin/newrelic명령어의 이름을 변경합니다.bin/newrelic_rpm에이전트 CLI의 실행 파일 이름이
bin/newrelic에서bin/newrelic_rpm로 변경되었습니다. 이번 변경으로 독립 실행형 뉴렐릭 CLI 도구와의 이름 충돌 문제가 해결되었습니다. PR#3323호환성 파괴 변경:
newrelic deploymentsCLI 명령어를 제거합니다.더 이상 사용되지 않는
newrelic deploymentsCLI 명령이 제거되었습니다. 변경 사항 및 구현, 뉴렐릭 배포를 추적하려면 사용 가능한 옵션 목록에 대한 변경 추적 가이드를 참조하세요. PR#3299호환성 파괴 변경: NewRelic::에이전트::SqlSampler#notice_sql 메서드가 제거되었습니다.
사용자는
NewRelic::Agent::Datastores.notice_sql대신 호출해야 합니다. PR#3338호환성 파괴 변경: 다양한 NewRelic::에이전트::Datastores API에서 사용되지 않는 인수를 제거합니다.
NewRelic::Agent::Datastores클래스의 다음 API에서 메서드 인수가 제거되었습니다.NewRelic::Agent::Datastores.notice_sql이전에는query,scoped_metric,elapsed의 세 가지 위치 인수가 있었습니다. 지금은query만 있습니다.NewRelic::Agent::Datastores.notice_statement이전에는 두 개의 위치 인수query과elapsed이 있었습니다. 지금은query만 있습니다.NewRelic::Agent::Datastores.wrap프로시저가 필요합니다. 이전에는 해당 프로시저가 yield 결과, 가장 구체적인 범위의 메트릭 이름, 그리고 호출에 걸린 시간이라는 세 가지 인수를 받았습니다. 이제 그것은 오직 하나의 결과, 즉 수확량만을 받습니다.
제거된 인수의 값은 호출 당시의 현재 세그먼트에서 가져옵니다. PR#3347
주요 변경 사항: 실험적 기능 설정 가능 보안 정책(CSP) 제거
설정 가능한 보안 정책(CSP)이라는 실험적 기능은 더 이상 지원되지 않으며 제거되었습니다. PR#3292
호환성 파괴 변경: Puma 버전 '<' 3.9.0에 대한 지원을 제거합니다.
현재 지원되는 Puma의 최소 버전은 3.9.0 이상입니다. PR#3326
획기적인 변경 사항: 설정 유효성 검사 및 강제 적용 개선
입력 설정에 제공된 값을 강제로 적용하고 유효성을 검사하는 데 사용되는 내부 로직이 이제 더욱 성능이 향상되고 정확도가 높아졌습니다.
- 이제 설정에서 nil을 지원하지 않는 경우 구성 값으로 nil이 제공되면 경고 메시지가 newrelic_agent.log 파일에 기록됩니다.
- 토크 설정 유형에는 정수 값이 허용됩니다.
- 정수 설정 유형에 대해 값이 허용됩니다.
- 잘못된 입력값을 대체할 기본값을 찾을 수 있는 경우 치명적인 중단을 방지할 수 있습니다 . (PR#3341)
호환성 파괴 변경: 분산 추적 원격 상위 샘플러에서 '기본값' 옵션을 '적응형'으로 대체합니다.
이전에는
distributed_tracing.sampler.remote_parent_sampled및distributed_tracing.sampler.remote_parent_not_sampled에 대한 기본 옵션이 기존 적응형 샘플러를 사용하는default였습니다.default옵션이adaptive로 이름이 변경되었습니다. PR#3363:
logger(를) 의존성/종속성 기능으로 추가하세요.loggergem은 이제 에이전트의 의존성/종속성으로 나열되어 지속적인 로깅 기능과 루비 4.0.0 및 최신 버전에 대한 지원을 보장합니다. PR#3293: Active Support 공지 허용 목록 설정 옵션 추가
새로운 설정 옵션인
instrumentation.active_support_notifications.active_support_events사용하면 에이전트가 구독할 Active Support 공지 이벤트 이름의 허용 목록을 정의할 수 있습니다. 기본적으로 에이전트는 모든 Active Support: Caching 및 Active Support: Messages 이벤트를 구독합니다. PR#3327: 루비에 내장된 Gzip 압축 사용
에이전트는 이제 압축을 위해 루비 표준의 내장
Zlib.gzip메소드를 사용하여 이전 사용자 정의 구현을 대체합니다. PR#3332기능:
NewRelic::Agent#record_custom_eventAPI에 대한 인자 유효성 검사 추가NewRelic::Agent#record_custom_eventAPI는 이제 유효하지 않은event_type가 제공될 경우ArgumentError오류를 발생시킵니다. 유효한 이벤트 유형은 영숫자, 밑줄(_), 콜론(:) 또는 공백()으로만 구성되어야 합니다. PR#3319: 루트 샘플링 설정 옵션 추가
이제
distributed_tracing.sampler.root사용하여 현재 서비스 내에서 발생하는 트래픽에 대한 샘플링 동작을 구성할 수 있습니다. PR#3330사용 가능한 모드는 네 가지입니다.
방법 설명 adaptive기존의 적응형 샘플러 알고리즘을 사용합니다. always_off루트 트레이스의 0%를 샘플링으로 표시합니다. always_on루트 트랜스의 100%를 샘플링으로 표시합니다. trace_id_ratio_baseddistributed_tracing.sampler.root.trace_id_ratio_based.ratio에 설정된 비율을 기반으로 샘플 트레이스를 추출합니다. 비율은 0.0에서 1.0 사이여야 합니다.: 트레이스 ID 비율 기반 샘플링 옵션 추가
에이전트는 이제 OpenTelemetry 트레이스 ID 비율 기반 샘플러 알고리즘을 사용하여 트레이스를 샘플링할 수 있습니다. PR#3330 이 샘플은 트레이스 ID를 기반으로 0.0에서 1.0 사이의 확률로 트레이스를 추출합니다.
이 옵션을 사용하려면 먼저 분산 추적 샘플러 설정을
trace_id_ratio_based으로 설정한 다음 해당distributed_tracing.sampler.*.trace_id_ratio_based.ratio샘플러를 0.0과 1.0 사이의 값으로 설정해야 합니다.예를 들어:
distributed_tracing.sampler.remote_parent_sampled: 'trace_id_ratio_based'distributed_tracing.sampler.remote_parent_sampled.trace_id_ratio_based.ratio': 0.5이 설정은 원격 부모가 샘플링되는 모든 트레이스에 대해 트레이의 약 50%를 샘플링합니다.
이 옵션은 다음 경우에 사용할 수 있습니다.
distributed_tracing.sampler.rootdistributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
기능: 에이전트 제어 상태 점검 파일에 엔티티 GUID 추가
제어 환경 내에서 시작되면 모든 프로세스에 대해 구성된 파일 위치에 상태 점검 파일이 생성됩니다. 이 파일에는 이제 에이전트와 관련된 엔티티의 GUID가 포함되어 있습니다(사용 가능한 경우). PR#3371
버그 수정: GCP 사용률 감지에서
NoMethodError오류를 해결합니다.이제 GCP 메타데이터 검색 로직은
nil또는 예상치 못한 값을 정상적으로 처리하여 서비스 초기화 충돌을 방지합니다. PR#3388
重要
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.
v9.24.0
기능: SqlSampler#notice_sql API에 대한 사용 중단 알림
NewRelic::Agent::SqlSampler#notice_sql메서드는 더 이상 사용되지 않으며 향후 주요 버전에서 제거될 예정입니다. 대신 사용자는NewRelic::Agent::Datastores.notice_sql호출해야 합니다. PR#3345기능: Datastores.notice_sql의 두 번째 및 세 번째 인수에 대한 사용 중단 알림 API
NewRelic::Agent::Datastores.notice_sql메서드의 두 번째(scoped_metric) 및 세 번째(elapsed) 인수는 더 이상 사용되지 않습니다. 이 방법은 얼마동안 사용되지 않았습니다. 대신 이러한 값은 API가 호출될 때 현재 세그먼트를 기반으로 설정됩니다. PR#3345기능: Datastores.notice_statement의 두 번째 인수에 대한 사용 중단 알림 API
NewRelic::Agent::Datastores.notice_statement메서드의 두 번째(elapsed) 인수는 더 이상 사용되지 않습니다. 이 방법은 얼마동안 사용되지 않았습니다. 대신, 이 값은 API가 호출될 때 현재 세그먼트를 기반으로 설정됩니다. PR#3346기능: Datastores.wrap API에서 proc의 두 번째 및 세 번째 인수에 대한 사용 중단 알림
NewRelic::Agent::Datastores.wrap메서드가 변경됩니다. 향후 주요 버전에서는 proc이 yield의 결과인 단일 인수만 허용하게 될 것입니다. 범위가 지정된 메트릭 이름과 경과된 인수는Datastores.notice_sql메서드에서 제거되므로 제거됩니다. 범위가 지정된 메트릭 이름과 경과 값은 래핑이 생성될 때 현재 세그먼트에서 파생됩니다. PR#3346
重要
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.
에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.
v9.23.0
기능: sidekiq.ignore_retry_errors 추가 설정 옵션
Sidekiq 작업 재시도가 캡처되는지 여부를 제어하기 위해 새로운 설정 옵션
sidekiq.ignore_retry_errors이 추가되었습니다. 재시도 오류는 기본적으로 캡처되지만 이제sidekiq.ignore_retry_errorstrue로 설정된 경우 에이전트는 Sidekiq의 재시도 중 발생한 예외를 무시하고 작업이 영구적으로 실패하는 경우에만 오류를 보고합니다. 이러한 개선 사항을 인식하고 해결책을 제공해 주신 DonGiulio에게 감사드립니다. PR#3317: Capistrano를 사용하여 녹음 구현, 배포에 대한 지원 중단 알림
Capistrano 레시피를 사용한 배포 정보 전송은 더 이상 사용되지 않으며 에이전트 버전 10.0.0에서 제거될 예정입니다. 기록 구현, 배포의 경우 사용 가능한 옵션 목록은 추적 변경 가이드를 참조하세요.
기능: 더 많은 시나리오에서 결정을 내리기 위해 원격 부모 샘플링 설정을 사용합니다.
이전에는
traceparent및tracestate헤더가 있는 경우에만distributed_tracing.sampler.remote_parent_sampled및distributed_tracing.sampler.remote_parent_not_sampled설정 옵션이 샘플링 결정에 사용되었습니다. 이제 이러한 설정 옵션은tracestate헤더가 누락되고newrelic헤더만 사용 가능한 경우에 적용됩니다. 이번 변경으로 인해 방사트레이스 샘플링이 더욱 일관되고 예측 가능해졌습니다. PR#3306
重要
최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 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