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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Ruby 에이전트 7.x에서 8.x로 마이그레이션 가이드

요약

이 가이드는 Ruby 에이전트의 7.x와 8.x 시리즈 사이의 주요 변경 사항, 업그레이드하는 동안 발생할 수 있는 문제, 버전 8.x로 성공적으로 마이그레이션하는 방법을 다룹니다.

주요 변경 사항은 다음과 같습니다.

자세한 내용은 8.0의 이정표를 참조하세요.

add_method_tracer API 메소드 변경사항

메트릭 이름 매개변수는 Procs를 허용합니다. 더 이상 보간되지 않는 문자열

add_method_tracer 에 대한 두 번째 인수는 추적된 메서드에 대한 호출을 기록하는 데 사용되는 측정항목의 이름입니다.

이전에는 이 문자열에 메트릭 이름에 메서드 수신기의 변수가 포함될 수 있도록 Ruby 스타일 보간이 포함될 수 있었습니다. 예를 들어:

# old (<= 7.2)
add_method_tracer :foo, 'metric_#{args[0]}'

8.0부터 이 문자열은 더 이상 보간되지 않습니다. 위에서 설명한 동작을 유지하려면 대신 Proc를 전달하세요.

# new (8.0+)
add_method_tracer :foo, -> (*args) { "metric_#{args[0]}" } # note the double-quotes

add_method_tracer 에 전달된 Proc의 arity는 원래 추적된 메서드의 arity와 일치해야 합니다(또는 호환되는 스플랫을 사용해야 함).

측정항목 이름과 유사하게 add_method_tracer 에 대한 :code_header:code_footer 옵션은 이전에 메서드 수신기의 컨텍스트에서 보간되는 문자열로 제공되었습니다.

Ruby 에이전트 8.0에서 :code_header:code_footer 은 위의 예와 같이 Procs로 지정된 경우에만 호출됩니다.

메서드당 한 번 add_method_tracer 호출

동일한 메서드에서 add_method_tracer 을 여러 번 호출하면 해당 메서드에 대해 이전에 정의된 메서드 추적 프로그램을 덮어씁니다. 추적된 각 메소드에 대해 하나의 add_method_tracer 행만 있어야 합니다.

이전에는 에이전트가 각 측정항목에 대해 한 번씩 add_method_tracer 를 호출하여 동일한 메서드에 여러 측정항목을 추가할 수 있었습니다. 이 작업은 계속 수행할 수 있지만 메트릭 이름은 문자열 또는 프로시저의 배열로 add_method_tracer 의 두 번째 인수로 전달되어야 합니다.

# old
add_method_tracer :foo, 'metric1'
add_method_tracer :foo, 'metric2', push_scope: false
add_method_tracer :foo, 'metric3', push_scope: false
# new
add_method_tracer :foo, ['metric1', 'metric2', 'metric3']

push_scope: false 을 지정하지 않으면 첫 번째 측정항목 이름이 범위 측정항목으로 생성됩니다. 다음 명명된 측정항목은 범위가 지정되지 않습니다. 각 추적 방법에는 범위가 지정된 메트릭이 하나만 있을 수 있습니다.

이전 버전의 Mocha는 업데이트된 add_method_tracer 에 문제를 일으킬 수 있습니다. Mocha 버전 1.2.0은 이 버그를 수정하므로 에이전트 버전을 업그레이드한 후 테스트 제품군에서 다음과 같은 오류가 발생합니다.

NoMethodError: super: no superclass method 'instance_method' for <ExampleClass>

Mocha 버전 < 1.2.0 이 설치된 경우 Mocha 버전을 1.2.0 이상으로 높이십시오.

우리는 Mocha 메서드를 호출하는 테스트 환경에서 오류가 발생하는 것을 보았습니다. 그러나 문제 해결 시 응용 프로그램의 기능을 확인하는 것이 좋습니다.

분산 추적은 기본적으로 활성화되어 있습니다.

distributed_tracing.enabled 의 기본 구성 옵션은 버전 8.0 이상에서 true로 설정됩니다. 분산 추적을 비활성화하려면 newrelic.yml 에서 이 구성 옵션을 false로 설정하십시오.

distributed_tracing:
enabled: false

교차 애플리케이션 추적은 더 이상 사용되지 않습니다.

교차 응용 프로그램 추적 은 8.0에서 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

분산 추적 및 교차 애플리케이션 추적은 동시에 사용할 수 없습니다. 두 구성 옵션이 모두 활성화된 경우 분산 추적만 사용됩니다.

애플리케이션 간 추적을 계속 사용하려면 newrelic.yml에서 분산 추적 및 애플리케이션 간 추적 설정을 모두 업데이트해야 합니다.

cross_application_tracing:
enabled: true
distributed_tracing:
enabled: false

더 이상 사용되지 않는 API 메서드 및 레거시 계측을 제거했습니다.

다음 메서드는 이전에 더 이상 사용되지 않으며 지금은 제거되었습니다.

제거됨

바꿔 놓음

disable_transaction_tracing API 메소드

disable_all_tracing 또는 ignore_transaction API 메서드

External.start_segment API 메소드

Tracer#start_external_request_segment API 메소드

Transaction.wrap API 메소드

Tracer#in_transaction API 메소드

몽고 < 2.1 계측

Mongo 2.1 이상으로 업그레이드

Excon < 0.19.0 계측

Excon 0.19.0 이상으로 업그레이드

Copyright © 2024 New Relic Inc.

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