Python attribute examples

Here are some examples of using attributes with the New Relic Python agent.

Capture request parameters

Capturing request parameters is not enabled by default. The following configuration will turn on parameter capture for the default destinations: transaction_tracer, transaction_events, and error_collector. To limit the destinations see the Selecting specific destinations example.

Configuration:

  attributes.include = request.parameters.*

Capture only specific request parameters

To capture only specific request parameters, you can simply pass a list to attributes.include:

Configuration:

  attributes.include = request.parameters.user_id request.parameters.product_id

Disable all attributes

In this example, attributes are disabled, so the include and exclude lists will be ignored and all attributes will be filtered out.

Configuration:

  attributes.enabled = false
  attributes.include = request.parameters.*

Input keys:

  foo, bar, request.parameters.foo, request.parameters.bar

Output for destinations:

  transaction_tracer: none
  error_collector: none
  transaction_events: none
  browser_monitoring: none

Select specific destinations

In this example:

  • Attributes are disabled for transaction traces. The include and exclude lists will be ignored, and all attributes will be filtered out for this destination.
  • Attributes are also disabled for browser monitoring by default.
  • Request parameters (prefixed with request.parameters.) are off by default for all destinations.

As a result, only bar is sent in traced errors and transaction events.

Configuration:

  attributes.enabled = true
  transaction_tracer.attributes.enabled = false
  attributes.exclude = foo

Input keys:

  foo, bar, request.parameters.foo, request.parameters.bar

Output for destinations:

  transaction_tracer: none
  error_collector: bar
  transaction_events: bar
  browser_monitoring: none

Select values and destinations

In this example, specific input keys are selected for certain output destinations and excluded from others.

  • The food.fruit.banana key will be excluded only from transaction traces.
  • The food and food.bread keys will be excluded from all destinations.

Configuration:

  browser_monitoring.attributes.enabled = true
  attributes.exclude = food*
  attributes.include = food.fruit.*
  transaction_tracer.attributes.exclude = food.fruit.banana

Input keys:

  food, food.bread, food.fruit.banana, food.fruit.apple

Output for destinations:

  transaction_tracer: food.fruit.apple
  error_collector: food.fruit.banana, food.fruit.apple
  transaction_events: food.fruit.banana, food.fruit.apple
  browser_monitoring: food.fruit.banana, food.fruit.apple

For more help

Additional documentation resources include:

Join the discussion about Python 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.