Browser Agent for Third-Party Resource Performance Measurement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions for monitoring the performance of third-party resource requests in web applications are intrusive, require application-specific configurations, and provide inaccurate data due to simulated user interactions, limiting their ability to measure real user experiences and location-based performance deviations.
Innovation Solution
A non-intrusive, browser-based system that detects and measures third-party resource load requests independently of the application, using a browser agent to track user-triggered activities, correlate performance data, and provide detailed metrics on third-party resource loading, including location-dependent performance variations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If virtual user agents are used to monitor performance, then performance data can be collected, but the data quality is limited to random samples and cannot accurately represent real user experiences
Solution Approach 1:
The patent uses real browser instances to copy actual user interactions rather than using virtual user agents that simulate interactions. The system instruments real browsers with monitoring code that captures genuine user behavior, including real clicks, scrolls, and navigation patterns, providing authentic performance data that accurately represents real user experiences.
Solution Approach 2:
The monitoring system leverages the browser's own capabilities to collect performance data. By injecting instrumentation code into the user's actual browser, the system enables the browser itself to report its own performance metrics, eliminating the need for external virtual agents and ensuring the data reflects genuine browser behavior.
2Measurement precision
If virtual user agents send requests to monitor performance, then performance metrics can be obtained, but the monitored application generates additional load which reduces the number of available samples
Solution Approach 1:
Instead of virtual user agents creating additional load, the system copies performance data directly from real user interactions. The instrumentation code in the user's browser captures performance metrics as they naturally occur during genuine user activity, eliminating the need for separate monitoring requests and preserving the full set of available performance samples.
3Extent of automation
If virtual user agents simulate user interactions, then performance data can be collected, but the system requires manual configuration and customization for each application update
Solution Approach 1:
The patent implements a universal monitoring solution that works across different applications without requiring application-specific configuration. The instrumentation code is injected into the user's browser and automatically adapts to any web application, capturing performance data from any third-party resource requests regardless of the specific application or its updates.
Solution Approach 2:
The monitoring system automatically adapts to application changes by leveraging the user's actual interactions with updated applications. When an application updates, real users naturally interact with the new version, and the instrumentation code automatically captures performance data from these genuine interactions without requiring manual reconfiguration of monitoring scripts.
4Measurement precision
If browser-based instrumentation is used to detect third-party requests, then accurate real-user performance data can be collected, but the system complexity increases due to client-side implementation
Solution Approach 1:
The system copies the browser's existing resource loading and execution mechanisms rather than creating separate monitoring infrastructure. By instrumenting the browser to capture performance data from actual resource requests as they occur during normal operation, the system achieves high measurement precision while keeping the implementation complexity manageable through reuse of existing browser capabilities.
Data Source
AI summary
A performance management system is provided that measures end user performance in a distributed computing environment. The system detects DOM updates caused by browser side activities, and identifies resource load requests introduced by a DOM update that request resource from third party sources. For such resource load requests, resource sensors are installed which detect the point in time when loading the resource was finished. This allows to measure load time for individual resource load requests requesting third party resources, and to assign the tracing and performance monitoring data describing those resource load requests to the tracing and performance monitoring data describing the browser side transaction execution that caused the third party resource loads.


