構文
newrelic.agent.application_settings(name=None)
アプリケーション設定オブジェクトを返します。
説明
これは、アプリケーション設定オブジェクトへの参照を返します。 global_settings
オブジェクトには、設定ファイルや環境変数の設定が含まれています。この application_settings
オブジェクトには、さらに New Relic UI を通じてサーバーサイドで設定された設定変更が含まれています。
返される設定は、ネストされた階層的なオブジェクトで、設定名は、 エージェント設定ファイル の名前と一致します。アプリケーション設定を公開する主な理由は、サーバーサイドで設定されたものではなく、エージェント固有のローカル設定をインストゥルメンテーションで参照したい場合です。
name
値が設定されていない場合は、エージェントの設定ファイルまたは NEW_RELIC_APP_NAME
環境変数で指定されたアプリケーション名が使用されます。
この呼び出しが行われたときにアプリケーションがデータコレクタに登録されていない場合は、 None
という値が返されます。呼び出しが正常に行われて値が返されると、登録時に取得したアプリケーションの サーバー側の構成 と重ね合わせたローカル構成の値が反映されます。
重要
アプリケーションの設定オブジェクトに変更を加えないでください。サーバー側の設定変更により、エージェントがデータコレクタにアプリケーションを再登録すると、設定オブジェクトが無効になり、置き換えられるため、設定オブジェクトをキャッシュしないでください。
パラメータ
パラメーター | 説明 |
---|---|
文字列 | オプションです。アプリケーションの名前です。設定されていない場合は、そのアプリケーションのPythonエージェント構成で設定された名前と一致します。 |
戻り値
アプリケーション設定オブジェクトを返します。このオブジェクト自体はパブリックなAPIを提供しませんが、他のコールではこのオブジェクトを渡す必要があります。
例
IFステートメントの使用
どのようなカスタムインスツルメンテーションを実装するかは、構成設定を確認するとよいでしょう。ここでは、アプリの設定オブジェクトで if
ステートメントを使用する例を示します。
settings = newrelic.agent.application_settings()
if settings and settings.error_collector.enabled: ...
結果をdictに渡す
デバッグやロギングの際に、グローバル設定を伝統的なPythonの辞書オブジェクトとして必要とする場合には、その結果を dict
に渡すことができます。例えば、以下のようになります。
settings_dict = dict(newrelic.agent.application_settings())
for name, value in settings_dict.items(): print name, value
各 名
は、その設定のフルドットパスになります。