Observing real user activity
Up to this point, we have focused on the observability of our serverless backends. However, a significant portion of today's application logic executes on the frontend within a user's browser on their own devices. Leveraging the processing power of the user's device allows us to spread out the load and dramatically improve the scalability of a system. However, it also makes it more difficult to monitor the behavior of the system, since we have to capture information from many devices. To address this problem, we need Real User Monitoring (RUM) and synthetic transactions.
RUM
RUM encompasses the set of tools we use to observe the performance of the frontend application logic. This includes sampling page load performance metrics, capturing errors and console logs, and sending this information to the central monitoring system. Then we correlate the frontend metrics with the backend metrics to create a full picture of the performance of the system...