I'm working on a project that is using Node.js on a back-end, and Angular.js as a front-end and I need to capture page load statistics for different resources of the app across different browsers. I was able to gather basic statistics by using Resource Timing API and storing the resulting JSON object on the server. But after reading this question on SO, I learned about Boomerang library and now I'm a bit confused. What would be the advantage of using Boomerang over Resource Timing API for a single page application (i.e. built in Angular)?
Advantage of using Boomerang library vs Resource Timing API
1.2k Views Asked by Timka At
1
There are 1 best solutions below
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in ANGULARJS
- How to automatically change path in angular when scrolling
- Error two clicks to be able to login Angular 16
- Passing an array of objects through the $http.post method in angular JS does not work
- Understanding how to apply Angular Signals from beginning on an existing service
- provider duplicate while compiling a Cordova application for the Android platform
- How can I use angularjs $parse service in Angular?
- Width of custom headers in ag-grid (angular) doesn't match with column's width
- Issues with Katex/ngx-markdown Rendering in Angular 16
- How to make Angular SSR wait for async operations to finish that are initiated in ngOnInit?
- I want to install @angular/google-maps npm Package in angular 16.2.12 but "npm install @angular/google-maps" this is not working/ tell me other query
- Angular 17 standalone application integrate CKEditor 5 -- Error: window is not defined
- Why is $scope >= 0 showing true in interpolation while empty in controller?
- The XMLHttpRequest compatibility library was not found
- Making Gantt Chart Column Labels More Readable
- Pass key-value pairs of object as individual arguments to component in Angular
Related Questions in NODE.JS
- Using Puppeteer to scrape a public API only when the data changes
- How to request administrator rights?
- How do I link two models in mongoose?
- Variable inside a Variable, not updating
- Unable to Post Form Data to MongoDB because of picturepath
- Connection terminated unexpectedly while performing multi row insert using pg-promise
- Processing multiple forms in nodejs and postgresql
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- My unban and ban commands arent showing when i put the slash
- how to make read only file/directory in Mac writable
- How can I outsource worker processes within a for loop?
- Get remote MKV file metadata using nodejs
- Adding google-profanity-words to web page
- Products aren't displayed after fetching data from mysql db (node.js & express)
Related Questions in TIMING
- Application slowness issue in Chrome
- Timing closure problems in FIFO
- g++ timer not compatible with DPC++ Intel compiler
- R Shiny - limit actionButton presses per second
- Canbus communication with Teensy 4.0
- How can I efficiently execute multiple C++ benchmarking algorithms using Windows cmd
- Why does clock_gettime return different values depending on how the function is timed?
- Optimizing 8 to 1 mux (32 bit inputs), with shortest delay
- Using PTP where the devices are on an arbitrary public network
- Calling a function after updateable delay in C++?
- Very strange timing in Nvidia Visual profiler
- Complex scenario with respect to jmeter timing
- Word VBA - Force Document to Load New Timestamp before Macro executes
- Openthread network synchronisation
- FPGA Parallel output timing to satisfy input timing
Related Questions in BOOMERANG
- How to register soft-navigation changes in mPulse Boomerang for an Angular app?
- Chrome Extension Boomerang - SOAP & REST Client - Where are the request files stored in your windows pc?
- Browser Navigation Timing Level 2 timestamps are sometimes out of order
- Why getting Uncaught TypeError: BOOMR.hasSentPageLoadBeacon is not a function on Firefox only?
- See very long BoomerangJS t_done times with `rt.t_start` and `rt.end` being equal
- Is there a way to run Boomerang bandwidth (by AKAMAI) with an on-click event multiple times?
- Data in boomerang beacons is inconsistent
- Boomcatch Error Forwarder Failed
- Log boomerang parameters
- Boomerang beacon called via GET instead of POST
- boomerangJS for SPA with AngularJS
- How to add ajax execution time in boomrang page load time?
- BOOMR.subscribe function is not being executed
- Advantage of using Boomerang library vs Resource Timing API
- Boomerang JS Not Including BW Results in Beacon
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Boomerang is an open-source library that measures the page load experience of your real users, often called Real User Monitoring (RUM). Boomerang measures many aspects of the page load experience, including all available network timings (DNS, TCP, request, response) of the main page and other important environment characteristics such as User Agent information, etc.
Boomerang was originally developed to help monitor "traditional" page loads, where each page you visit initiates a new browser navigation. In an Single-Page-App (SPA) scenario like with Angular.js, your visitors are no longer doing complete browser navigations when getting new content, as Angular is pulling in the required pieces via XHR as needed and injecting them into the DOM. Boomerang in a SPA scenario today will monitor the initial page load, but none of the subsequent SPA page loads.
If you're using ResourceTiming to gather the resources' networking statistics that you're interested in, and only care about those statistics, then you will not need Boomerang. However, if you're interested in gathering more information about the entire page load experience for the user, Boomerang gathers a lot more information about the page load experience and beacons back to your server.
Boomerang has a robust plugin infrastructure that supports extension to suite any scenario you want. While it doesn't currently "support" the SPA soft-page-load navigations out of the box, there is a plugin currently under development to help with SPAs.