SPA: setAttribute

newrelic.interaction().setAttribute(string $key, any $value)
Adds a custom SPA attribute only to the current interaction in Browser.

Requirements

Agent version nr-963 or higher.

Description

This method adds a custom attribute to an interaction. If saved, this attribute will be exposed as a new property on the resulting BrowserInteraction event. Unlike attributes added with setCustomAttribute(), an attribute added to an interaction will only apply to the current interaction, and it will not be added to PageAction events.

New Relic merges these custom attributes with the custom attributes set by calling setCustomAttribute() and with custom attributes set by a server-side agent.

Order of precedence Custom attributes
Highest level BrowserInteraction attributes set with the SPA API: These overwrite attributes set in the other two ways.
Next level Attributes set by setCustomAttribute(): These overwrite server-side custom attributes.
Lowest level Custom attributes set server-side.

Errors for custom attributes will be included in events on the JS Errors page. To view or log errors for a custom attribute via API, use the Browser API's noticeError call.

Parameters

Parameter Description

$key

string

Required. Used as the attribute name on the BrowserInteraction event.

$value

any

Required. Used as the attribute value on the BrowserInteraction event. This can be a string, number, boolean, or object. If it is an object, New Relic serializes it to a JSON string.

Return value(s)

This method returns the same API object created by interaction().

Example(s)

router.addRoute('/profile', () => {
    const user = getCurrentUser()
    newrelic.interaction()
        .setAttribute('username', user.username)
        .setAttribute('userId', user.id)
    renderProfile(user)
})

For more help

If you need more help, check out these support and learning resources: