この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

onEnd (SPA API)

構文

newrelic.interaction().onEnd(function $callback)

インタラクションを保存する前に、SPA インタラクションに関連付けられた値を変更します。

要件

  • ブラウザ Pro+SPA エージェント (v963 以降)

  • npm を使用してブラウザ エージェントをインストールしている場合は、 BrowserAgentクラスをインスタンス化するときにspa機能を有効にする必要があります。features配列に以下を追加します。

    import { Spa } from '@newrelic/browser-agent/features/spa';
    const options = {
    info: { ... },
    loader_config: { ... },
    init: { ... },
    features: [
    Spa
    ]
    }

    詳細については、 npm ブラウザのインストールに関するドキュメントを参照してください。

説明

この呼び出しは、 getContext()と同じオブジェクトを提供します。これが呼び出されると、インタラクションを記録する前に最終的な調整を行うことができます。たとえば、コンテキスト値に基づいて追加の属性を追加できます。

他にも、相互作用を修正する方法があります。

パラメーター

パラメータ

説明

$callback

機能

必要です。この関数は、インタラクションの終了時に呼び出されます。この関数は、1つのパラメータ(インタラクションコンテキスト)を指定して呼び出されます。

戻り値

このメソッドは、 interaction()によって作成されたものと同じAPIオブジェクトを返します。

// 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;
});
})
}