After establishing that End User Monitoring and Front End Optimization (FEO) are alive and well, I thought it would make sense to look at the current landscape of tools that can help in this area.
Application Performance Management (APM) tooling certainly has its place here, particularly for integrated, ongoing monitoring. However, it is probably useful to think of FEO as an extension activity, undertaken separately to the core KPI tracking and issue resolution supported by APM. I will reference APM tooling in the context of the various categories considered. I have split the tooling consideration into two posts: introduction & synthetic testing, and RUM (including mobile).
Let's start with a summary of available tool types (split into two parts), and then a structured FEO process. I am assuming an operations (rather than developer) centric approach. Certainly, the most robust approach to ensuring client side performance efficiency is to bake it in from inception, using established "Performance by Design" principles and cutting edge techniques. However, as in most cases "I wouldn't have started from here" is not exactly a productive recommendation, let's set the scene for approaches to understanding and optimizing the performance of existing web applications.
So, tooling. Any insights gained will start with the tools used. The choice will depend upon the technical characteristics of the target (e.g. traditional HTTP Website, Single Page Application, WebApp, Native Mobile App), and the primary objective of the test phase [the spectrum of (ongoing) Monitoring through to (point) Analysis].
The first hurdle is gaining appropriate visibility. However, it must be noted that any tool will produce data, the key is effective interpretation of the results. This is largely a function of knowledge and control of the test conditions.
So, what are the relevant categories of front end test tooling? The following does not seek to provide a blow-by-blow comparison of the multiplicity of competitors in each category – and in any case, the best choice for you will be determined by your own specific circumstances. Rather, it is a high level category guide. As a general rule of thumb, examples of each category will ideally be used to provide a broad insight into end user performance status and Front End Optimization. Modern APM tools increasingly tick many of these boxes, although some of the more arcane (but useful) details are yet to appear.
As we will see when considering process, FEO practice in Operations essentially consists of two aspects. One is understanding the outturn performance to external end points (usually end users). This is achieved through monitoring, that is, obtaining an objective understanding of transaction, page, or page component response from replicate tests in known conditions, or of site visitors over time.
Monitoring provides information relative to patterns of response of the target site or application, both absolute and relative to key competitors or other comparators.
The other aspect is Analysis of the various components delivered to the end user device. These components fall into three categories: static, dynamic, or logic (JavaScript code). Data for detailed analysis may be obtained as a by-product of monitoring, or from single or multiple point "snapshot" tests. Component analysis will be covered in a subsequent post.
Read End User Monitoring 101: Tools Part 2
Larry Haig is Senior Consultant at Intechnica.