Arguably the most important area in a modern day Application Performance Monitoring (APM) solution is the end user experience monitoring. Indeed it could be said that it represents a shift in approach from an old model where systems would be monitored in pieces, to a new one where it is monitored as a whole and from the perspective of the performance levels observed by the end users.
Difference – Real and Synthetic End User Experience Monitoring
Today’s APM tools often use end user experience monitoring as the starting point when tracing problems. When it detects that performance levels are affected or errors are occurring they are then traced back through the various components to arrive at the root cause.
Generally there are two types of end user experience monitoring that you’ll encounter in APM solutions: Real, and synthetic.
Real End User Experience Monitoring
Sometimes referred to as ‘passive’ end user experience monitoring, it uses systems that track and document user actions and the performance that is observed in real time. That is then compared to an established baseline to measure whether or not the performance levels are within normal parameters and acceptable – or not.
At first glance real end user experience monitoring may seem to be an excellent way to monitor performance levels as it tracks it as observed by actual users from various geographical locations and often has a log management system that allows them to be reviewed. However it does have a downside in that issues can only be identified when they are experienced by active users, and could have a substantial impact before they are rectified.
Synthetic End User Experience Monitoring
In contrast to real end user experience monitoring, synthetic end user experience monitoring is sometimes referred to as ‘active’ instead. It does not rely on collecting data from actual users, but instead uses scripts to simulate the sets of ‘typical’ actions that may be taken by users at periodic intervals.
Needless to say with synthetic monitoring any issues can be discovered before they are encountered by actual end users, and may even be fixed before they are ever encountered. However it is also a method that takes more time to set up, as the user actions that are considered ‘typical’ need to be identified and scripted to set up the monitoring system.
Many modern day integrated APM solutions utilize both of these methods of monitoring end user experience. Although they can be said to overlap with each other, that is actually an advantage in some cases as it provides a redundancy in the APM system itself. On top of that where synthetic monitoring may pick up most issues involving typical user actions, real monitoring can help identify issues involving actions that may not be considered typical.
In both types of monitoring systems, after an issue is detected it then needs to be traced using other dimensions of APM such as user-defined transaction tracing to root out the underlying cause (or causes). It should be clear however that both still have a role to play in monitoring and measuring the experience of the end user, and using that data to drive APM. 🙂