Running a load test is a great way to measure application server performance, but what if you want to know what the real user experience (UX) is, under a load?
Now you can, by enabling the End User Experience Monitoring option in BlazeMeter!
This new feature executes a Selenium test in the background while your load test is running, via Taurus. The Selenium test generates a Waterfall Report that shows what a user would see in their web browser at different points during the load test. This can be especially helpful when trying to debug why a certain page failed to load properly from a user point of view at a certain point in the load test, for example.
Currently, BlazeMeter offers URL monitoring abilities, but stay tuned for more (details at the end).
In this article we will learn:
- How URL Monitoring Works
- Choose a URL to Monitor
- Run the Test
- View the Report
- Waterfall Report: Preview Tab
- Waterfall Report: HAR Tab
- Coming Soon
When a test is executed with the "End User Experience Monitoring" feature enabled, BlazeMeter will wrap the label + the URL specified with a YAML configuration file. Then, BlazeMeter will execute the generated script via Taurus and Selenium. The script, containing only the URLs specified, will run for the full duration of the load test. Now let's learn how to run End User Experience tests.
To get started, first enable the feature. Then specify at least one URL to monitor during the test. Include a label name to identify the URL. (Note: You must include "http://" or "https://" with each URL.)
After specifying a label and URL, the plus (+) button will be enabled, which can be used to add additional URLs if needed. One URL can be monitored for free-tier plans, and additional URLs can be monitored for paid plans, depending on the type of plan you have.
Once the test starts, you'll see both the load test and user experience monitoring test executed simultaneously.
Once the test report appears, use the "Scenario:" drop-down menu in the upper-right corner to select which test to view.
Both may be chosen together to create a combined view.
To view the End User Experience Monitoring report, navigate to the Timeline Report tab. Under the KPI Selection on the lefthand side, scroll to the bottom and expand the Real User Experience section.
You will find your named label(s) for your monitored URL(s). Select a label, and it will be displayed as a series of dots on the graph.
The Y (vertical) axis represents page load time in the web browser. Each single dot represents a specific moment in time, where higher dots represent pages that took longer to load than lower dots.
Click a dot to open the End User Experience Monitoring tab, which will display a waterfall report. This report essentially records a separate HAR file for each individual dot.
The waterfall report shows you what your users experience when your site is under load. For example, you might find that your backend can handle the load but the page takes ten seconds to reach a state that is adequate for a user to interact with. The waterfall report can aid you in uncovering performance issues - issues JMeter alone would never have been able to identify.
As you review the waterfall report, you can click to expand each performed request to view more details about it. This is similar to what you would see if you were to open the developer tools for a real browser and examine the network tab.
You can also hover your mouse over each graph in the waterfall report to see expanded information on request phases and their elapsed times.
The waterfall report reveals how long each request took and which requests had the most impact on page load time. For additional visual representations of performance, click and expand "Show Statistics" directly under the "Preview" tab.
(Note: You may notice the "Show Page Timeline" option, and if you click it, you'll find nothing is displayed. This feature is not available yet, but it will be implemented in the near future).
As mentioned previously, each dot on the Timeline Report represents a HAR file. You can click the HAR tab to see all of the various details captured in this file. The included search bar will assist you with locating specific data.
You can expand and collapse the various sections of this file in order to thoroughly examine all the data collected and used by the report.
Jump to next section:
Beta Feedback? Bug to report?
A number of features are currently being worked on to further enhance End User Experience Monitoring in the future. Please stay tuned and keep an eye out for these additional features currently being planned:
- An option to upload a Selenium script for the End UX Monitoring part of the test.
- The BlazeMeter Chrome Extension will eventually allow taking a recorded combined JMeter + Selenium script and running it in BlazeMeter as a load test with End UX Monitoring.
- The "Show Page Timeline" feature will display screenshots of the browser at different points in time of the test in a filmstrip-like view.