The New Relic browser agent helps you monitor the performance, errors, and user experience of your web application or site. It collects data on page load time, Ajax requests, JavaScript errors, and custom events, and sends them to New Relic for analysis and visualization. But did you know that the view rendered by a web extension also operates with the same mechanics as a traditional web page? The New Relic browser agent can be utilized to observe the same wide variety of real user monitoring (RUM) data directly in the views rendered by your web extension.
If you want to use the New Relic browser agent in a web extension view, such as a pop-up, a sidebar, or an options page, you need to follow some steps to install and configure it properly. Here’s a guide on how to do that.
Install the browser agent as an NPM package
The first step is to install the browser agent to your web extension project. The examples used in this article utilize the browser agent NPM package.
You can install the New Relic browser agent NPM package by running the following command:
npm install @newrelic/browser-agent –save
This will add the browser agent as a dependency in your package.json file and download it to your node_modules folder.
By utilizing the NPM agent library, the output of building your app will directly include the agent code, which can simplify the configuration of content security policy (CSP) rules for your web extension. If you desire to implement the agent by copying and pasting our snippet as an inline script into your extension views, you’ll need to ensure your extension has permission to load external resources from the New Relic content delivery network (CDN).
Load the browser agent in your extension view
The browser agent must be included and initialized in the code running in your views in order to observe and record data. To do this, add the agent to the highest level of the code defining your web view. This example shows the agent being added and initialized to the highest level of a react-based web extension 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';
// Populate your configuration using values in copy-paste JavaScript snippet in the NR1 UI.
const options = {
Init:{ … },
loader_config: { … }
Info: { … }
}
// The agent loader code executes immediately on instantiation.
const browserAgent = new BrowserAgent(options)
// Passing the agent instance into the React application so that other components can access it if needed
ReactDOM.render(
<App
browserAgent={browserAgent}
/>,
document.getElementById('root')
);
Once the agent is installed and running in your web extension views, it will be able to detect all the RUM data it’s able to detect on a standard web page. To configure your Browser Agent to behave to your liking, please see the NPM readme for detailed information.
By following these steps, you can successfully add the New Relic browser agent to your Chrome extension view and start monitoring the performance and real-user experience of your extension views. You can view the data collected by the browser agent in your New Relic account dashboard and use it to optimize and troubleshoot your extension. Install the browser agent today to start understanding your extension’s impact on your customer experience.
Las opiniones expresadas en este blog son las del autor y no reflejan necesariamente las opiniones de New Relic. Todas las soluciones ofrecidas por el autor son específicas del entorno y no forman parte de las soluciones comerciales o el soporte ofrecido por New Relic. Únase a nosotros exclusivamente en Explorers Hub ( discus.newrelic.com ) para preguntas y asistencia relacionada con esta publicación de blog. Este blog puede contener enlaces a contenido de sitios de terceros. Al proporcionar dichos enlaces, New Relic no adopta, garantiza, aprueba ni respalda la información, las vistas o los productos disponibles en dichos sitios.