application_settings

For general information on how the Python agent API calls relate to each other, see the API guide.

newrelic.agent.application_settings(name=None)
Returns an application settings object.

Description

This returns a reference to the application settings object. The global_settings object contains settings in the configuration file and environment variables; this application_settings object additionally includes configuration changes set server-side via the New Relic UI.

The returned settings are nested, hierarchical objects and the setting names match the names in the agent configuration file. The main reason to expose the application settings is if you want your instrumentation to reference the agent-specific local configuration and not what's set server-side.

If the name value is not set, the call uses the application name specified in the agent config file or via the NEW_RELIC_APP_NAME environment variable.

If the application hasn't been registered with the data collector when this call is made, it returns the value None. When a call is successfully made and returns values, it will reflect the values of any local configuration overlaid with the server-side configuration for that application obtained during registration.

Do not make any changes to the application settings object. Do not cache the settings object because it will be invalidated and replaced if a server-side config change causes the agent to re-register the application with the data collector.

Parameters

Parameter Description

name

string

Optional. The name of the application. If not set, the name matches the name set in the Python agent configuration for that application.

Return value(s)

Returns an application settings object. The object itself does not present any public API; some other calls require it to be passed.

Example(s)

Using an IF statement

You might want to check the configuration settings to determine what custom instrumentation to implement. Here's an example of using an if statement with the app settings object:

settings = newrelic.agent.application_settings()

if settings and settings.error_collector.enabled:
    ...

Passing results into dict

If you are debugging or logging and require the global settings as a traditional Python dictionary object, you can pass the result into a dict. For example:

settings_dict = dict(newrelic.agent.application_settings())

for name, value in settings_dict.items():
    print name, value

Each name will be the full dotted path for that setting.

For more help

Recommendations for learning more: