Attributes are key-value pairs containing information that determines the properties of an event or transaction. You can view these key-value pairs in some places in the UI, or by querying that data using NRQL. New Relic gives users the ability to customize exactly which attributes will be sent to each of these destinations.
You can also collect custom attributes to send additional data to New Relic.
Agent attribute collection: An agent makes three different decisions when sending an attribute to any New Relic destination based on the relevant property settings. Property names and syntax vary by agent. (The properties in this diagram are specific to the PHP agent, but the general flow is the same for all agents. Property names and syntax vary by agent.)
Attributes can be collected in a variety of ways:
- Message property attributes: These are the properties set on a message received from a queue or topic.
- HTTP request attributes: These are the parameters for an HTTP request.
- User attributes: These are attributes provided by the user through each agent's API.
- Agent attributes: These are attributes captured by the agent; for example,
Collected attributes appear in these locations:
Each minute transaction traces collect data for your slowest individual HTTP requests. These traces will report attributes collected during the transaction.
If a transaction results in an error, these traced errors will be reported to APM. A traced error will contain attributes collected during the transaction.
APM transactions will contain attributes collected during the transaction.
Browser monitoring events will contain attributes collected during the transaction. However, attributes collected at the end of a transaction may not appear on
Span events collected for distributed tracing will contain attributes collected during the span.
The following agents support the addition of custom user attributes to span events:
Each segment in a transaction trace will contain attributes recorded for that segment.
Request attributes are associated with specific transaction traces, browser traces, and errors in APM and dashboards. You can see the attributes recorded with a request when viewing the individual trace or error. Custom attributes can be queried via NRQL exactly like any other attribute.
APM > (select an app) > Monitoring > Transactions > (select a transaction) > (select a trace): Here is an example from the Ruby agent of the Request attributes and Custom attributes for a transaction trace. Exact attributes depend on your agent and on your attribute configuration.
User attributes, request attributes, and message queue parameters are limited by count and size.
Limited to 64 user attributes
Limited to 256 bytes each
If the key is more than 256 bytes, then the attribute will not be recorded.
Limited to 256 bytes each
If the value is greater than 256 bytes, then the attribute value will be truncated.
Each APM agent collects custom attributes. The supported attributes depend on the specific agent: