構文
newrelic.agent.data_source_generator(name=None, **properties)
メトリックデータを生成するデータソースをラップします。
説明
データソースAPIは、 record_custom_metric で実装されているプッシュ型APIではなく、 プル型API を使用してメトリックを生成する方法を提供します。カスタムメトリクスにデータソースを使用する理由と方法については、 カスタムメトリクスのデータソース を参照してください。
data_source_generator
デコレータは、各サンプルのメトリクスを含むイテレート可能なジェネレータを直接返す、シンプルなメトリクスデータ生成用データソースをラップするために使用します。デコレーターを適用する関数は、引数を取らなくてはなりません。これは、メトリクスを生成するための呼び出しの間に状態情報を保持する必要がない場合や、データソースの1つのインスタンスを複数のアプリケーションに対して使用できる場合に使用されます。
パラメータ
パラメーター | 説明 |
---|---|
文字列 | オプションです。データソースの名前です。これはロギングの目的でのみ使用されます。提供されていない場合は、装飾された関数から派生した呼び出し可能な名前がデフォルトとなります。 |
辞書 | オプションです。データソース・ファクトリに渡す追加のプロパティ。 辞書に登録できるフィールドは以下の通りです。
|
戻り値
関数を返します。
例
データソースジェネレータの例
data_source_generator
を使って、メトリック値を返す関数をラップした例です。
import psutilimport os @newrelic.agent.data_source_generator(name='Memory Usage')def memory_metrics(): pid = os.getpid() p = psutil.Process(os.getpid()) m = p.get_memory_info() yield ('Custom/Memory/Physical', float(m.rss)/(1024*1024)) yield ('Custom/Memory/Virtual', float(m.vms)/(1024*1024))