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

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

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

문제 신고

datastore_trace(Python 에이전트 API)

통사론

newrelic.agent.datastore_trace(product, target, operation)

데이터 저장소에 대한 호출을 계측하는 데 사용됩니다.

설명

datastore_trace 추가 세그먼트의 형태로 트랜잭션 추적 에 세부 정보를 추가하는 데 사용됩니다. datastore_trace 으로 보고된 모든 호출은 APM 데이터베이스 페이지 에 나타납니다. datastore_trace 은 데이터 저장소에 대한 호출 시간을 지정하는 함수의 데코레이터로 사용할 수 있는 DatastoreTraceWrapper일부 를 반환합니다.

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

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

  • The context manager

    : 컨텍스트 관리자 형식은 DatastoreTrace 입니다.

  • The wrapper

    : 래퍼 형식은 DatastoreTraceWrapper 입니다. 데코레이터를 사용하지 않고 래핑된 함수를 반환하는 데 사용할 수 있습니다.

  • The path-based wrapper

    : 경로 기반 래퍼 형식은 wrap_datastore_trace 입니다. 이는 Monkey 패치를 통해 지정된 객체에 DatastoreTraceWrapper 적용합니다. 이는 데코레이터와 동일한 모범 사례와 추가 moduleobject_path 모범 사례를 사용합니다.

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

매개변수

데코레이터의 매개변수

newrelic.agent.datastore_trace(product, target, operation)

이 호출에는 다음 매개변수가 포함됩니다.

매개변수

설명

product

필수의. 공급업체의 이름입니다. 예: Postgres , Redis .

target

필수의. 컬렉션 또는 테이블의 이름입니다. 대상이 없으면 None 을 사용해야 합니다.

operation

필수의. 데이터 저장소 작업의 이름입니다. 예: select , get , insert , rollback . 제공하지 않으면 기본값은 other 입니다.

컨텍스트 관리자용 매개변수

newrelic.agent.DatastoreTrace(product, target, operation, host=None, port_path_or_id=None, database_name=None)

컨텍스트 관리자의 매개변수 에는 datastore_trace 의 모든 매개변수와 추가 host , port_path_or_iddatabase_name 매개변수가 포함됩니다.

매개변수

설명

host

선택 과목. 데이터 저장소 서버의 호스트 이름 또는 IP입니다.

port_path_or_id

선택 과목. 데이터 저장소 서버에 연결하는 데 사용되는 포트입니다. 유닉스 소켓으로 연결하는 경우 소켓에 대한 경로가 될 수 있습니다.

database_name

선택 과목. 데이터베이스의 이름입니다.

래퍼 매개변수

newrelic.agent.DatastoreTraceWrapper(wrapped, product, target, operation)

래퍼 매개변수에는 datastore_tracewrapped 매개변수에 대한 모든 매개변수 가 포함됩니다.

매개변수

설명

wrapped

기능

필수의. 래핑되는 함수입니다.

경로 기반 래핑 매개변수

newrelic.agent.wrap_datastore_trace(module, object_path, product, target, operation)

매개변수에는 datastore_trace 에 대한 모든 매개변수 와 다음 매개변수가 포함됩니다.

매개변수

설명

module

물체

필수의. 계측할 함수가 포함된 모듈입니다.

object_path

필수의. 함수의 위치에 대한 경로입니다.

반환 값

datastore_trace DatastoreTraceWrapper() 부분을 반환합니다.

datastore_trace 예시

datastore_trace 데코레이터 사용 예:

import newrelic.agent
class _Database(UserDict.DictMixin):
...
@newrelic.agent.datastore_trace('Redis', None, 'get')
def _get(self, key):
...

네이티브 코루틴과 함께 datastore_trace 데코레이터를 사용하는 예:

import newrelic.agent
class _Database(UserDict.DictMixin):
...
@newrelic.agent.datastore_trace('Redis', None, 'get')
async def _get(self, key):
...

컨텍스트 관리자 예제

DatastoreTrace 컨텍스트 관리자를 사용하는 예: `custom_action`을 수행하는 데 걸리는 시간을 알려줍니다.

import newrelic.agent
def complex_query(a, b, c):
with Connection(host, port, db) as conn:
with newrelic.agent.DatastoreTrace(
product="Custom Product",
target=None,
operation="custom",
host=host,
port_path_or_id=port,
database_name=db,
):
conn.custom_action()

래퍼 예

DatastoreTraceWrapper 사용 예:

import newrelic.agent
class _Database(UserDict.DictMixin):
...
def _get(self, key):
...
_Database._get = newrelic.agent.DatastoreTraceWrapper(
_Database._get, "Redis", None, "get"
)
Copyright © 2024 New Relic Inc.

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