Adds one or more custom attributes to a transaction.
This call records one or more custom attributes (a key/value tuple attached to your transaction). The call name is
add_custom_parameters because "custom attributes" were previously called "custom parameters".
Attributes may be found in APM if the transaction is associated with an error or if a transaction trace is generated for that transaction. Attributes can also be found and queried in the New Relic UI.
Before you create custom attributes, review our list of reserved terms used by NRQL.
Required. Each item in the list must be a tuple, with the first element being a key, and the second its value. Each key is a string representing the name of an attribute, and each corresponding value is the value to add to the current transaction for this attribute. Values can be int, float, string, or boolean. Only the first 255 characters are retained for both keys and values.
True if all attributes were added successfully.
An example of adding custom parameters to a background task:
@newrelic.agent.background_task()def send_request():response = requests.get("http://example.com")newrelic.agent.add_custom_parameters([("url_path_status_code", response.status_code)])
You can also use custom parameters to troubleshoot performance issues. For example, you might see occasional slow response times from a pool of memcache instances, but you don't know what instance is causing the problem. You might add an attribute to the transaction indicating the server, like so:
# Set server_ip to be the current server processing the transactionnewrelic.agent.add_custom_parameters([("memcache_query_frontend_lookup", "server_ip")])