Performance is critical to providing a good user experience on the web. Research shows more than one second and a user's flow of thought is interupted. More than 10 seconds and you lose the user's attention.
To help understand performance, modern browsers provide a Resource Timing API that details out the amount of time it takes for each stage of a web request and response. This is a fantastic resource, and tools like Chrome Developer Tools allow you to explore the data for individual network requests. There is another class of enterprise tools that allow you to look at this data in agreggate, but they are often expensive or complicated (i.e. requires a server or a database) or both.
As a dev, tester, product manager, or consumer, maybe you want something that is minimal, elegant, and still gets the job done. Rumble is an attempt to strike that balance.
Host a single HTML page, put a JSON configuration file somewhere on the web (I use my Dropbox public folder), and fire it up in a supported browser. No server, no backend, no database, no subscription, no problem.
** not mobile optimized (lame, I know) **
Here is a demo comparing two TodoMVC projects, using a configuration file stored in my public dropbox folder:
https://dl.dropboxusercontent.com/u/46275388/TodoMvcContestants.json
The pages reload automatically every 10 seconds and the timing statistics are updated.
In a folder that is served by your web server of choice:
curl -O https://raw.githubusercontent.com/gmoon/rumble/master/dist/standalone/rumble.html
Then browse to:
http://mydomain/myfolder/rumble.html?config=myurl
- Prove to your operations team that the VMs they turned over to you serve static HTML files 1,000% slower than the 4 year-old, bare-metal web servers they are trying to decomission (this was my actual use case)
- Compare performance impact of code optimizations