• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

data_source_generator (PythonエージェントAPI)

構文

newrelic.agent.data_source_generator(name=None, **properties)

メトリックデータを生成するデータソースをラップします。

説明

データ ソース API は、 record_custom_metricによって実装されたプッシュ スタイル APIではなく、プル スタイル API を使用して指標を生成する方法を提供します。カスタム メトリックにデータ ソースを使用する理由とその方法の詳細については、 「カスタム メトリック データ ソース」を参照してください。

data_source_generator デコレータは、各サンプルのメトリクスを含むイテラブル/ジェネレータを直接返す単純なメトリクス データ生成データ ソースをラップするために使用されます。デコレータが適用される関数は引数を取らないでください。これは、メトリクスを生成するために呼び出し間で状態情報を保持する必要がない場合、およびデータ ソースの 1 つのインスタンスを複数のアプリケーションに対して使用できる場合に使用されます。

パラメーター

パラメータ

説明

name

ストリング

オプションです。データソースの名前です。これはロギングの目的でのみ使用されます。提供されていない場合は、装飾された関数から派生した呼び出し可能な名前がデフォルトとなります。

properties

辞書

オプションです。データソース・ファクトリに渡す追加のプロパティ。

辞書に登録できるフィールドは以下の通りです。

  • count
  • total
  • min
  • max
  • sum_of_squares

戻り値

関数を返します。

データソースジェネレータの例

data_source_generator を使用してメトリック値を返す関数をラップする例:

import newrelic.agent
import psutil
import os
@newrelic.agent.data_source_generator(name='Memory_Usage')
def memory_metrics():
pid = os.getpid()
p = psutil.Process(pid)
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 © 2024 New Relic株式会社。

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