Measure browser rendering performance metrics
- Is a NodeJS based tool
- For measuring browser performance metrics (like frame rates, expensive layouts, paints, styles, etc.)
- For Web pages, Cordova/Phonegap and other Hybrid applications.
- Metrics are measured while mimicking real user interactions - clicking buttons, typing content, etc.
- Tool collects the metrics from sources like
about:tracing, Chrome Devtools timeline, IE UI Responsiveness tab, Xperf, etc.
- Monitor this information regularly by integrating the tool with continuous integration systems.
Read more on why browser-perf here.
Install the tool using
npm install -g browser-perf and then run
$ browser-perf --browsers=chrome,firefox --selenium=ondemand.saucelabs.com --username=username --accesskey=accesskey
- Replace username and access key with the saucelabs.com username and accesskey
- If you have Selenium set up, you could substitute
- You can also use BrowserStack credentials and substitute
See the wiki page for an extensive list of command line options and more usage scenarios.
browser-perf is also a node module and has the following API
var browserPerf = require'browser-perf';browserPerf'/*URL of the page to be tested*/'// res - array of objects. Metrics for this URLif errconsole.log'ERROR: ' + err;elseconsole.logres;selenium: ''browsers: 'chrome' 'firefox'username: SAUCE_USERNAME // if running tests on the cloud;
- Websites can become slow
- due to a single commit that adds expensive CSS (like gradients)
- We use tools in Chrome or Internet Explorer only when the site is too slow.
- Tools like YSlow and Page Speed are great, but will it not be better if the are a part of continuous integration?
- Tools like this(http://npmjs.org/package/browser-perf) and Phantomas can fill the gap to monitor site performance every time a checkin is performed.
Licensed under BSD-2 Clause. See License.txt for more details
Please ping me if you would need help setting this up.