Enabling and disabling attributes

This describes the properties to enable or disable attributes, and the rules that New Relic uses when determining which attributes to include or exclude for a destination. This also includes a summary of the PHP agent properties that have been deprecated with the release of New Relic agent attributes.

Properties

Use the following destination properties to open or close the destination to any attribute collection:

newrelic.attributes.enabled
Type Boolean
Default True

Turns on or turns off all attributes in all destinations.

newrelic.browser_monitoring.attributes.enabled
Type: Boolean
Default: False

Turns on or turns off all attributes for browser monitoring. This is the data that gets sent to page views in Insights. If newrelic.attributes.enabled is false, no attributes will be sent to browser monitoring regardless of how this property is set.

newrelic.error_collector.attributes.enabled
Type: Boolean
Default: True

Turns on or turns off all attributes for traced errors. If newrelic.attributes.enabled is false, no attributes will be sent to traced errors regardless of how this property is set.

newrelic.transaction_events.attributes.enabled
Type: Boolean
Default: True

Turns on or turns off all attributes for transaction events. If newrelic.attributes.enabled is false, no attributes will be sent to transaction events regardless of how this property is set.

newrelic.transaction_tracer.attributes.enabled
Type Boolean
Default True

Turns on or off all attributes for transaction traces. If newrelic.attributes.enabled is false, no attributes will be sent to transaction traces regardless of how this property is set.

Use the following attribute/destination specific .include or .exclude properties to add or remove specific attributes in specific destinations:

newrelic.attributes.include
Type: Comma-delimited list of strings
Default: Empty

If attributes are enabled, all attribute keys in this list will be sent to New Relic.

newrelic.attributes.exclude
Type: Comma-delimited list of strings
Default: Empty

All attribute keys in this list will not be sent to New Relic.

newrelic.browser_monitoring.attributes.include
Type: Comma-delimited list of strings
Default: Empty

If attributes are enabled for browser_monitoring, all attribute keys in this list will be sent to New Relic Browser in page views.

newrelic.browser_monitoring.attributes.exclude
Type: Comma-delimited list of strings
Default: Empty

All attribute keys found in this list will not be sent to New Relic Browser in page views.

newrelic.error_collector.attributes.include
Type: Comma-delimited list of strings
Default: Empty

If attributes are enabled for traced errors, all attribute keys in this list will be sent to New Relic in traced errors.

newrelic.error_collector.attributes.exclude
Type: Comma-delimited list of strings
Default: Empty

All attribute keys in this list will not be sent to New Relic in traced errors.

newrelic.transaction_events.attributes.include
Type: Comma-delimited list of strings
Default: Empty

If attributes are enabled for transaction events, all attribute keys in this list will be sent to New Relic in transaction events.

newrelic.transaction_events.attributes.exclude
Type: Comma-delimited list of strings
Default: Empty

All attribute keys in this list will not be sent to New Relic in transaction events.

newrelic.transaction_tracer.attributes.include
Type: Comma-delimited list of strings
Default: Empty

If attributes are enabled for transaction traces, all attribute keys in this list will be sent to New Relic in transaction traces.

newrelic.transaction_tracer.attributes.exclude
Type: Comma-delimited list of strings
Default: Empty

All attribute keys in this list will not be sent to New Relic in transaction traces.

Attribute rules

New Relic follows these rules when determing which attributes to include or exclude for a destination.

Root level takes precedence for enabled.

The newrelic.attributes.enabled field trumps all other settings. When false, no attributes will be reported to New Relic.

Example configuration:


    newrelic.attributes.enabled = false
    newrelic.attributes.include = foo,bar
    newrelic.transaction_tracer.attributes.enabled = true
    

Example output:


    Keys passed in: password, foo, bar, bat
    Keys included for all destinations:
    Keys excluded for all destinations: password, foo, bar, bat
    
Destination enabled takes precedence over include and exclude.

The newrelic.{destination}.attributes.enabled flags take precedence over include and exclude keys.

Example configuration:


    newrelic.transaction_tracer.attributes.enabled = false
    newrelic.attributes.include = one,two
    newrelic.transaction_tracer.attributes.include = three,four
    

Example output:


    Keys passed in: one, two, three, four
    Keys included for transaction traces:
    Keys excluded for transaction traces: one, two, three, four
    
Attribute is included if the destination is enabled.

If a destination is enabled, all user attributes are sent to that destination by default.

Note: All user attributes default to true. However, by default, request attributes and message parameters are disabled for all destinations.

Example configuration:


    newrelic.attributes.enabled = true
    newrelic.attributes.exclude = myAttKey
    

Example output:


    Keys passed in: foo, bar, myAttKey
    Keys included: foo, bar
    Keys excluded: myAttKey
    
Exclude always supersedes include.

If the same key is listed in the include and exclude lists, then attributes with the specified key will be excluded.

Example configuration:


    newrelic.attributes.enabled = true
    newrelic.attributes.include = foo,myCustomAtt
    newrelic.attributes.exclude = password,myCustomAtt
    

Example output:


    Keys passed in: foo, myCustomAtt, password
    Keys included: foo
    Keys excluded: password, myCustomAtt
    
Keys are case sensitive.

Keys are case sensitive.

Example configuration:


    newrelic.attributes.enabled = true
    newrelic.attributes.exclude = password,PaSsWoRd
    

Example output:


    Keys passed in: password, Password, PASSWORD, PaSsWoRd, PassWORD
    Keys included: Password, PASSWORD, PassWORD
    Keys excluded: password, PaSsWoRd
    
Use a star (*) for wildcards.

You can use an asterisk or star (*) at the end of a key as a wildcard. This will match a set of attributes with the same prefix.

Example configuration:


    newrelic.attributes.enabled = true
    newrelic.attributes.include = custom*
    newrelic.attributes.exclude = request.parameters.*
    

Example output:


    Keys passed in: custom, custom.key1, custom.key2, request.parameters., request.parameters.foo, request.parameters.bar
    Keys included: custom, custom.key1, custom.key2
    Keys excluded: request.parameters., request.parameters.foo, request.parameters.bar
    
Most specific setting for a key takes priority.

If multiple include or exclude attributes affect the same key, the most specific setting will have priority.

Example configuration:


    newrelic.attributes.enabled = true
    newrelic.attributes.include = request.parameters.foo
    newrelic.attributes.exclude = request.parameters.*
    

Example output:


    Keys passed in: request.parameters., request.parameters.foo, request.parameters.bar
    Keys included: request.parameters.foo
    Keys excluded: request.parameters., request.parameters.bar
    
Include or exclude affects the specific destination.

If the attribute include or exclude is specified on a destination, then it only impacts that destination.

Example configuration:


    newrelic.attributes.include = foo
    newrelic.transaction_events.attributes.exclude = foo
    

Example output:


    Keys passed in: foo
    Keys included for transaction events: 
    Keys included for other destinations: foo
    Keys excluded for transaction events: foo 
    

Deprecated properties

The following properties have been deprecated. Switch to the new attributes configuration for these properties when upgrading your PHP agent.

Deprecated property New property

newrelic.capture_params

newrelic.attributes.include = request.parameters.*

By default, request parameters are not sent to New Relic. Add request.parameters.* to the newrelic.attributes.include list to turn on all request parameters. The newrelic.capture_params property has been deprecated.

newrelic.ignored_params

newrelic.attributes.exclude = request.parameters.{name}

Add each request parameter key to the newrelic.attributes.exclude list, delimited by commas. Be sure to prepend the key with request.parameters. The newrelic.ignored_params property has been deprecated.

newrelic.{destination}.capture_attributes

newrelic.{destination}.attributes.enabled

The old newrelic.{destination}.capture_attributes flag would turn off user attribute collection. This has been deprecated. Use newrelic.{destination}.attributes.enabled instead.

For more help

Additional documentation resources include:

Join the discussion about PHP in the New Relic Online Technical Community! The Technical Community is a public platform to discuss and troubleshoot your New Relic toolset.

If you need additional help, get support at support.newrelic.com.