New Relic Browserエージェントは、ウェブアプリケーションやサイトのパフォーマンス、エラーやユーザー体験を監視するのに役立ちます。ページの読み込み時間、Ajaxリクエスト、JavaScriptのエラー、カスタムイベントのデータを収集し、New Relicに送信し解析、可視化します。
ところで、ブラウザ拡張機能でレンダリングするビューも従来のウェブページと同じ仕組みで動作することはご存知でしたか?
New Relic Browserエージェントを利用すれば、ウェブ拡張によってレンダリングされたView内のリアルユーザーモニタリング(RUM)データを幅広く観察することもできます。
ポップアップ、サイドバー、オプションページなどのブラウザ拡張のViewでNew Relicブラウザエージェントを使用したい場合適切に設定する必要があります。以下は、その方法についてのガイドです。
Browserエージェント(NPM Package)のインストール
最初のステップは、Browser エージェントをウェブ拡張プロジェクトにインストールすることです。本記事の例では、次のコマンドを実行して、Browser エージェントのNPMパッケージを利用しています。
npm install @newrelic/browser-agent –save
これにより、Browserエージェントがpackage.jsonファイルに依存関係として追加され、node_modulesフォルダーにダウンロードされます。
NPMライブラリを利用すると、アプリのビルド結果にエージェントコードが直接含まれるため、ブラウザ拡張機能のコンテンツセキュリティポリシー(CSP)ルールの設定を簡素化できます。
NPMの代わりにBrowser Agentのコードスニペットをインラインスクリプトとしてコピー、拡張機能Viewに貼り付けてエージェントを実装したい場合は、拡張機能がNew Relicのコンテンツ配信ネットワーク(CDN)からの外部リソースのロードを許可していることを確認する必要があります。
拡張機能ビューでBrowserエージェントを読み込む
Browserエージェントを利用しRUMの計装を行うにはView内で実行されるコードでBrowserエージェントを含めて初期化する必要があります。そのために、WebViewを定義するコードの最上位にエージェントを追加します。この例では、エージェントが追加され、Reactベースのウェブ拡張機能Viewの最上位レベルに初期化されることを示しています。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import { BrowserAgent } from '@newrelic/browser-agent/loaders/browser-agent';
// コピー&ペーストしたNR1 UIのJavaScriptスニペットの値を使用して設定にデータを入力。
const options = {
Init:{ … },
loader_config: { … }
Info: { … }
}
// エージェントローダーコードを、インスタンス化時にすぐに実行する
const browserAgent = new BrowserAgent(options)
// エージェントインスタンスをReactアプリケーションに渡し、必要に応じて他のコンポーネントがアクセスできるようにする
ReactDOM.render(
<App
browserAgent={browserAgent}
/>,
document.getElementById('root')
);
エージェントがインストールされ、ウェブ拡張機能ビューで実行されると、通常のウェブページと同様にRUMデータを検出することができます。ブラウザエージェントの動作を自分の好みに設定するには、詳細情報についてはNPMのreadmeをご覧ください。
これらの手順に従うことで、New Relic BrowserエージェントをChrome拡張機能Viewに追加し、拡張機能Viewのパフォーマンスと実際のユーザーエクスペリエンスが観測できます。
エージェントが収集したデータはNew Relicアカウントのダッシュボードで閲覧でき、拡張機能の最適化とトラブルシューティングに利用できます。
今すぐブラウザエージェントをインストールして、拡張機能が顧客体験に与える影響を理解し始めましょう。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。