SPA: onEnd

onEnd(function $callback)
Change the values associated with a SPA interaction before the interaction is saved .

Requirements

Agent version nr-963 or higher.

SPA calls require New Relic Browser Pro.

Description

This call provides the same object as getContext(). When this is called, you can make final adjustments to the interaction before it's recorded. For example, you could add additional attributes based on the context values.

Other methods for modifying the interaction include:

Parameters

Parameter Description

$callback

function

Required. This function is called when the interaction ends. It is called with one parameter, which is the interaction context.

Return value(s)

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

Example(s)

// router.js
router.addRoute('/dashboard', () => {
    const interaction = newrelic.interaction().onEnd(ctx => {
        interaction.setAttribute(
            'averageChartLoadTime',
            ctx.totalChartLoadTime / ctx.chartLoadCount
        )
    })
    getCharts().forEach(loadChart)
})

// chart-loader.js
function loadChart (chart) {
    const start = Date.now()
    chart.load().then(() => {
        const loadTime = Date.now() - start
        interaction.getContext(ctx => {
             ctx.totalChartLoadTime = (ctx.totalChartLoadTime || 0) + loadTime
             ctx.chartLoadCount += (ctx.chartLoadCount || 0) + 1
        })
    }
}

For more help

Recommendations for learning more: