Solve Front-End Performance Problems in Real Time With mPulse

by Buddy Brewer
2033

This is one in a series of posts following up on our announcements from the Developer Zone at Edge 2017. For a complete review of Edge, see our recap page.

Akamai mPulse is a new real-user monitoring (RUM) tool that generated a lot of excitement when we presented it at Edge 2017. In short, mPulse is built to help you quickly find and fix problems with web performance. In this blog post I will show you how mPulse does it, and why developers are going to love it.

First of all, mPulse works by measuring every user experience in real time, collecting over 200 facts about each experience. Half of this information is focused on traditional speed metrics (DNS, server latency, time to first byte, etc.) and the other half is focused on user behaviors (bounce rate, conversion rate, time on site, pages viewed, etc.).

Now, from that description you might think mPulse is just a tool for operations managers and business analysts. But, as it turns out, mPulse is actually quite useful for developers.

Specifically, there are three features of mPulse that are very helpful to developers, particularly when trying to diagnose front-end performance problems (which is where users spend about 80% of their time waiting). Those features are:

  1. Real-user waterfall charts
  2. User Timing API
  3. Continuity metrics

Let’s take a closer look at each of them.

1. Real-user Waterfall Charts

Think of this as a search engine of user trace data for front-end performance issues. If you ever have a front-end problem that’s difficult to reproduce locally, you can use this search engine to find waterfall charts from real users who had the problem. In the screenshot below, poor experiences can be found by adjusting the filters at the top, which will narrow the list of user experiences in the left pane to show only the ones you are interested in. Then, selecting a beacon will show details about the different dimensions of that user experience such as operating system and device type (top right). The bottom right shows a full waterfall chart including timing data for each resource whether it was delivered from origin, from CDN, or from a third party.

2. User Timing API

Most browsers collect standard events by default (DNS resolution, etc.) but often the most important events to understand in your page are custom to your site, and therefore not collected automatically by browsers. Think of the User Timing API as a W3C standards-based way to add in all the metrics you wish browsers would collect for you, but don’t because of the custom nature of the metric.

Akamai mPulse fully supports the User Timing API and thus can capture all the custom data points you specify, analyzing them in real time and presenting them to you via dashboards and alerts. Below is a screenshot showing an example of one of these custom data point selections.

3. Continuity Metrics

Increasingly, developers are looking to move beyond the simple onload event as a proxy for understanding the user’s experience, in favor of metrics that more accurately capture the perceived performance of the page. For example, the page may be visually complete before the load event fires, or might not actually be interactive until some JavaScript executes after the load event.

Given these inherent drawbacks with onload metrics, Akamai’s continuity metrics are designed to provide superior information in two specific areas: 1) helping understand the time to “visually ready”, and 2) helping understand the time until the page is actually interactive. The continuity metrics functionality uses a heuristic we developed that combines vendor-specific hints from different browsers with hints from developers to provide a single metric that works across browsers, even though no web standard currently exists to measure these today. Here’s an example of a typical continuity metrics display. You can see all of the key milestones on the way to full page load including when the page was visually ready and when it was actually interactive to the user:

Get Started Now With a Free 30-Day Trial of MPulse Lite

Akamai mPulse, the RUM solution that helps you monitor web performance and calculate business impact, is now available for developers to try for free with mPulse Lite. With mPulse Lite you can monitor real-user behaviors on your digital apps and get:

  • All standard metrics
  • Up to 25 apps
  • 1M beacons per month
  • Executive & DevOps dashboards
  • 30 days of data retention

Click here to start your free trial.

Buddy Brewer is a product line director at Akamai Technologies.

Categories: Edge '17 Highlights, Monitoring

Suggested Article