Open for Voting

Pingdom RUM 2.0: Single Page App (SPA) Support

A single page app (SPA) is a web application or web site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. 

Monitoring SPA performance helps the business to understand the path an end user takes through the site and makes it easier to identify bottleneck(s). So, essentially, this kind of monitoring would be added to existing Pingdom RUM capabilities (ie adding a feature to support the monitoring of route changes when real users move between pages).

More detail below, followed by additional reading and a sample site.

Important metrics to capture for SPA
As SPAs pack everything into one page, the complexity increases which complicates the process of monitoring the speed and performance of the page. Unlike multi-page applications (MPA), SPAs will have soft navigation or routing. Views are loaded and/or unloaded depending on the user flow of interaction and it communicates via Ajax calls or Javascripts. In order to monitor SPAs, we need to capture metrics such as visually complete, JS errors, error details, # visits, etc. for each loaded view. In addition to these, we also need to track the loading and unloading of the views.

Identifying JavaScript errors
Javascript plays a major role on the client side as each view loading and unloading will be taken care of by Javascript/Ajax calls. To provide a rich user experience, we need to make sure that javascript is error-free and installed add-ons/extensions do not cause any issues to the SPA’s Javascript. In MPA,s errors in Javascript(s) have an impact on only specific pages, but in SPAs, an error can affect the entire site’s user experience and functionality.

Like them or not, many sites are SPAs now. Would you like to see Pingdom RUM 2.0 monitor and report on these kinds of sites?

Good reading can be found here:

An example site can be found here: