Syntax
newrelic.agent.add_custom_attribute(key, value)
Adds a custom attribute to a transaction.
Description
This call records a custom attribute (a key/value pair attached to your transaction).
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.
Important
Before you create custom attributes, review our list of reserved terms used by NRQL.
Attributes
Attribute | Description |
---|---|
string | Required. The key name. Only the first 255 characters are retained. |
string, integer, float, boolean | Required. The string value to add to the current transaction. Only the first 255 characters are retained. |
Return values
Returns True
if attribute was added successfully.
Examples
Adding custom attributes to background task
An example of adding custom attributes to a background task:
@newrelic.agent.background_task()def send_request(): response = requests.post('http://URL_path', headers=headers, data=data) newrelic.agent.add_custom_attribute('url_path_status_code', response.status_code)
Using custom attributes to troubleshoot
You can also use custom attributes 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 transaction
newrelic.agent.add_custom_attribute("memcache_query_frontend_lookup", server_ip)