SPA: setCurrentRouteName

newrelic.setCurrentRouteName(string $name)
Gives SPA routes more accurate names than default names. Monitors specific routes rather than by default grouping.

Requirements

Agent version nr-998 or higher.

SPA calls require New Relic Browser Pro.

Description

This method names the current route. This can be useful to:

  • Give routes more accurate names than they would have by default.
  • Monitor a route that might otherwise be grouped with other routes by default.

Currently this method applies only to SPA BrowserInteraction events. Using this API creates two new custom attributes that track the previous route and the target route:

  • previousRouteName
  • targetRouteName

When using this API, the browserInteractionName attribute will take the targetRouteName value. If setName is used to set the browser interaction name, that will take precedence.

The setCurrentRouteName() API determines the name attributes for BrowserInteraction events, so this API must be called every time there is a route change. This will ensure that BrowserInteraction events have the correct attributes.

Compare with setName(), which sets a name for a browser interaction, not a route.

Parameters

Parameter Description

$name

string

Required. Current route name for the page.

Route names passed to setCurrentRouteName() can be any string, but they should represent a routing pattern rather than a specific resource. For example, use /users/:id rather than /users/123.

If null, exits out of the route change requirement and returns ot the default naming strategy.

Example(s)

router.onChange(function (route) {
  newrelic.setCurrentRouteName(route.name)
})