• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

message_trace(파이썬 에이전트 API)

통사론

newrelic.agent.message_trace(library, operation, destination_type, destination_name, params={})

보고 메시징 기능은 트랜잭션 추적 세그먼트입니다.

요구 사항

에이전트 버전 2.88.0.72 이상.

설명

message_transaction (및 관련 호출)은 메시지 기능을 트랜잭션 으로 보고합니다. message_trace 은 추가 세그먼트 형태로 트랜잭션 추적 에 세부정보를 추가하는 데 사용됩니다. message_trace 는 메시지 함수의 데코레이터로 사용할 수 있는 MessageTraceWrapper일부 를 반환합니다.

message_trace 데코레이터는 에이전트 버전이 2.102.0.85 이상인 생성기 및 코루틴에서 사용할 수 있습니다. 이러한 개체의 타이밍은 소비가 시작될 때 시작되고 개체가 소진되거나 범위를 벗어날 때 끝납니다. 이는 메트릭이 생성기 또는 코루틴 개체 자체를 생성하는 데 걸린 시간을 나타내는 이전 버전에서 변경된 사항입니다.

애플리케이션에서 데코레이터를 사용할 수 없는 경우 다음 다른 호출 형식 중 하나를 사용할 수 있습니다.

  • 컨텍스트 관리자 : 컨텍스트 관리자 양식은 MessageTrace 입니다. 데코레이터와 동일한 매개변수를 사용합니다.
  • 래퍼 : 래퍼 형식은 MessageTraceWrapper 입니다. 데코레이터를 사용하지 않고 래핑된 함수를 반환하는 데 사용할 수 있습니다.
  • 경로 기반 래퍼 : 경로 기반 래퍼 형식은 wrap_message_trace 입니다. 이것은 원숭이 패치를 통해 주어진 객체에 MessageTraceWrapper 을 적용합니다. 데코레이터와 동일한 매개변수와 추가 moduleobject_path 매개변수를 사용합니다.

이러한 다른 호출 형식의 사용에 대한 설명은 다른 호출 형식 을 참조하십시오. 호출 예는 를 참조하십시오.

매개변수

message_trace에 대한 매개변수

newrelic.agent.message_trace(library, operation, destination_type, destination_name, params={})

message_trace 데코레이터는 다음 매개변수를 사용합니다.

매개변수

설명

library

문자열 또는 함수

필수의. 사용 중인 메시지 브로커 유형의 이름(또는 유형)입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오.

operation

문자열 또는 함수

필수의. 추적된 함수에서 발생하는 작업에 의해 표시된 대로 Produce 또는 Consume 입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오.

destination_type

문자열 또는 함수

필수의. 작업의 대상이 되는 대상 유형입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오. 일반적으로 Exchange 또는 Queue 입니다.

destination_name

문자열 또는 함수

필수의. 작업의 대상이 되는 대상의 이름입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오.

params

사전

선택 과목. 작업과 관련된 추가 세부정보입니다. 일반적으로 routing_key , correlation_id , reply_to , queue_name 또는 headers 입니다.

MessageTrace의 매개변수

newrelic.agent.MessageTrace(library, operation, destination_type, destination_name, params={})

MessageTrace 컨텍스트 관리자는 message_trace 에서 가져온 모든 매개변수 를 사용합니다.

MessageTraceWrapper의 매개변수

newrelic.agent.MessageTraceWrapper(wrapped, library, operation, destination_type, destination_name, params={})

MessageTraceWrapper 은 초기 wrapped 매개변수 외에 데코레이터 와 동일한 매개변수를 모두 사용합니다.

매개변수

설명

wrapped

기능

필수의. 메시지 브로커 시간을 나타내는 메시징 기능입니다.

wrap_message_trace에 대한 매개변수

newrelic.agent.wrap_message_trace(module, object_path, library, operation, destination_type, destination_name, params={})

wrap_message_tracemodule 매개변수 및 object_path 매개변수 외에 데코레이터 가 수행하는 모든 매개변수를 사용합니다.

매개변수

설명

module

물체

필수의. 래핑할 개체를 포함하는 모듈입니다.

object_path

필수의. 래핑할 개체의 경로입니다.

반환 값

message_trace MessageTraceWrapper() 부분을 반환합니다.

message_trace 예제

message_trace 사용 예:

@message_trace('library', 'Consume', 'Exchange', 'x')
def foo():
pass

기본 코루틴과 함께 message_trace 데코레이터를 사용하는 예:

@message_trace('library', 'Consume', 'Exchange', 'x')
async def foo():
pass

메시지 추적 예

MessageTrace 컨텍스트 관리자를 사용하는 예:

def basic_get(queue, no_ack=False):
with MessageTrace('library', 'Consume', 'Exchange', 'x'):
pass

MessageTraceWrapper 예

MessageTraceWrapper 사용 예:

wrapped_basic_get = newrelic.agent.MessageTraceWrapper(basic_get, 'library', 'Consume', 'Queue', 'x')
method_frame, header_frame, body = wrapped_basic_get('queue')

wrap_message_trace 예

wrap_message_trace 경로 기반 래퍼를 사용하는 예:

wrap_message_trace('module', 'Foo.bar', 'library', 'Produce', 'Exchange', 'x')
Copyright © 2022 New Relic Inc.

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