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

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

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

문제 신고

register_data_source(파이썬 에이전트 API)

|View as Markdown (English)

통사론

newrelic.agent.register_data_source(source, application=None, name=None, settings=None, **properties)

사용자 지정 메트릭 데이터를 생성하기 위한 데이터 소스를 등록합니다.

설명

이 호출은 사용자 지정 메트릭 타임슬라이스 데이터 를 생성하기 위해 각 수확 주기 가 완료될 때 폴링할 데이터 소스를 등록합니다. 사용자 지정 메트릭에 데이터 소스를 사용하는 이유와 방법에 대한 자세한 내용은 사용자 지정 메트릭 데이터 소스 를 참조하십시오.

팁

대부분의 경우 name 을 제외하고 선택적 인수를 사용할 필요가 없습니다.

데이터 소스에서 반환된 측정항목은 값이 숫자 또는 부동 소수점인 단순 (name, value) 튜플이거나 값이 특정 측정항목에 대해 이미 집계된 데이터 샘플에 해당하는 사전일 수 있습니다.

사전을 메트릭 값으로 반환할 때 제공할 수 있는 필드는 다음과 같습니다.

  • count
  • total
  • min
  • max
  • sum_of_squares

이러한 필드 및 몇 가지 일반적인 사용 팁에 대한 자세한 내용은사전 집계된 측정항목 을 참조하세요.

팁

코드를 변경할 필요가 없는 에이전트 구성 을 사용하여 동일한 결과를 얻을 수도 있습니다. 이러한 방식으로 데이터 소스를 추가하려면 구성 파일에 접두사 data-source: 를 사용하여 섹션을 추가하고, 그 다음에 하나 이상의 데이터 소스가 지정된 경우 다른 데이터 소스의 섹션을 구별하는 고유 값을 추가합니다. 다음은 예입니다.

[data-source:memory-usage]enabled = true
function = samplers:memory_metrics
# application = ...
# name = ...
[data-source:cpu-usage]enabled = true
function = samplers:CPUMetricsDataSource
# application = ...
# name = ...

데이터 소스가 함수에 의해 지정된 경우 이름은 module:function 입니다. 클래스인 경우 module:class 입니다. 모듈은 Python 모듈 검색 경로를 사용하여 찾을 수 있어야 합니다.

register_data_source 과 마찬가지로 데이터를 보고할 애플리케이션과 이름은 선택사항입니다.

매개변수

매개변수

설명

source

함수 또는 클래스

필수의. data_source_generator 또는 data_source_factory 데코레이터가 할당된 함수 또는 클래스인 데이터 소스.

application

응용 프로그램 개체

선택 과목. 데이터를 보고할 New Relic 모니터링 계정에 해당하는 응용 프로그램 개체입니다. 기본값 None 으로 설정하면 계측된 각 앱에 대한 각 수확 주기가 끝날 때 데이터 소스가 폴링됩니다. 또는 응용 프로그램 개체가 제공되면 데이터 소스는 해당 하나의 특정 응용 프로그램에 대한 메트릭을 생성하기 위해서만 폴링됩니다.

각 보고 응용 프로그램에 대해 고유한 데이터를 유지하기 위해 데이터 소스가 필요한 경우 팩토리 패턴을 사용하여 각 응용 프로그램에 대한 데이터 소스의 개별 인스턴스를 생성할 수 있습니다.

name

끈

선택 과목. 데이터 소스의 이름입니다. 이것은 로깅 목적으로만 사용되며 기본적으로 데이터 소스 자체에서 제공한 이름이 사용됩니다.

settings

끈

선택 과목. 데이터 소스 팩터리에 전달할 설정입니다.

properties

끈

선택 과목. 데이터 소스 팩터리에 전달할 추가 속성입니다.

반환 값

없음.

예

데이터 소스의 메모리 사용량

import newrelic.agent
import psutil
import os
@newrelic.agent.data_source_generator(name='Memory_Usage')
def memory_metrics():
pid = os.getpid()
p = psutil.Process(os.getpid())
m = p.memory_info()
yield ('Custom/Memory/Physical', float(m.rss) / (1024 * 1024))
yield ('Custom/Memory/Virtual', float(m.vms) / (1024 * 1024))
@newrelic.agent.background_task()
def main():
# Example code, business as usual
print("Hello, world!")
if __name__ == "__main__":
newrelic.agent.initialize(config_file="newrelic.ini")
app = newrelic.agent.register_application()
newrelic.agent.register_data_source(memory_metrics, app)
main()
Copyright © 2026 New Relic Inc.

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