마이그레이션할 준비가 되면 Ruby 에이전트의 8.x 및 9.x 시리즈 간의 주요 변경 사항을 검토하십시오. 또한 버전 9.x로 성공적으로 마이그레이션할 수 있도록 업그레이드하는 동안 발생할 수 있는 문제에 대해서도 알아봅니다.
요약
주요 변경 사항은 다음과 같습니다.
- 더 이상 사용되지 않는 모든 구성 옵션을 제거했습니다.
- Ruby 2.2 및 2.3에 대한 지원 중단
- 기본적으로 활성화된 스레드 추적
- 보석에 대한 더 이상 사용되지 않는 계측 제거
- 업데이트된 API 방법
set_transaction_name
- 더 이상 사용되지 않는 API 메소드 제거
자세한 내용은 9.0의 이정표를 참조하십시오.
더 이상 사용되지 않는 구성 제거됨
다음 구성 옵션을 제거했으므로 더 이상 작동하지 않습니다. 아래 나열된 대체 항목을 사용하려면 모든 구성을 업데이트하고 자세한 내용은 구성 설명서를 참조하십시오.
제거됨 | 바꿔 놓음 |
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ruby 2.2 및 2.3에 대한 지원 제거
Ruby 2.2 및 2.3은 Ruby 에이전트에서 더 이상 지원되지 않습니다. 최신 Ruby 에이전트 버전을 계속 사용하려면 Ruby 2.4.0 이상으로 업데이트하십시오.
New Relic은 Ruby 언어 개발 팀(Ruby 팀)에서 제공하는 공식적으로 지원되는 유지 관리 기간을 벗어난 후에도 특정 이전 Ruby 버전을 계속 지원합니다. 예를 들어 2023년 3월 31일 현재 Ruby 팀에서 지원하는 가장 오래된 Ruby 버전은 버전 3.0이지만 Ruby 에이전트 버전 9.0에서는 Ruby 버전 2.4 이상이 계속 지원됩니다. Ruby 버전의 공식 Ruby 팀 지원에 대한 자세한 내용은 Ruby 유지 관리 분기를참조하십시오.
기본적으로 활성화된 스레드 추적
이제 구성 옵션 instrumentation.thread.tracing
이 기본적으로 활성화됩니다. 이 구성을 통해 에이전트는 스레드 내부에서 발생하는 코드를 감시할 수 있습니다. Ruby 에이전트 9.0은 스레드 내에서 계측된 코드를 기록하고 이를 현재 트랜잭션과 연결합니다.
현재 사용자 정의 스레드 계측을 사용 중인 경우 이는 주요 변경 사항일 수 있습니다. 스레드 내부의 새 트랜잭션은 이미 존재하는 경우 더 이상 시작되지 않습니다.
이전 UI를 사용하는 경우 거래 차트에 "#" 세그먼트가 표시될 수 있습니다. 세그먼트 테이블을 보면 전체 이름은 "Thread: #"입니다. 이러한 세그먼트는 스레드 계측을 참조합니다. 자세한 내용은 Issue#1859를 참조하십시오.
더 이상 사용되지 않는 계측 제거
다음 계측된 gem은 이전에 사용되지 않았으며 이제 더 이상 지원되지 않습니다.
Solr 역할
오솔로직
데이터매퍼
무지개
흑점
다음 기술의 버전은 이전에 사용되지 않았으며 더 이상 지원되지 않습니다.
승객: 2.2.x - 4.0.x
푸마: 2.0.x
포도: 0.2.0
파드리노: 0.14.x
레일: 3.2.x
시나트라: 1.4.x, 1.5.x
몽고: 1.8.x - 2.3.x
속편: 3.37.x, 4.0.x
Delayed_Job: 2.0.x - 4.0.x
사이드키크: 4.2.x
엑스콘: 0.55.0 이하
Http클라이언트: 2.2.0 - 2.8.0
HttpRb: 0.9.9 - 2.2.1
장티푸스: 0.5.3 - 1.2.x
토끼: 2.0.x - 2.6.x
활성 판매자: 1.25.0 - 1.64.x
업데이트된 API 방법 set_transaction_name
NewRelic::Agent.set_transaction_name
메서드가 호출되면 이제 항상 현재 실행 중인 트랜잭션의 이름과 범주를 메서드에 전달된 항목으로 변경합니다. 이것은 이전 에이전트 버전에서 변경된 사항입니다.
이전에는 새 트랜잭션 이름 및 트랜잭션에 이미 할당된 범주와 일치하지 않는 새 범주로 set_transaction_name
를 호출하면 새 이름이나 범주가 모두 트랜잭션에 저장되지 않았습니다.
이전에는 카테고리 차이로 인해 무시되었던 상황에서 이 메소드가 호출되면 이제 트랜잭션의 이름과 카테고리가 변경됩니다.
제거된 API 메서드
더 이상 사용되지 않는 API 메소드 NewRelic::Agent.disable_transaction_tracing
이(가) 제거되었습니다. 대신 NewRelic::Agent#ignore_transaction
사용하여 현재 트랜잭션의 기록을 비활성화하거나 NewRelic::Agent.disable_all_tracing
사용하여 후속 호출에서 메트릭이나 추적을 수집하지 않고 블록을 생성합니다.