Client-Side Web Resource Load Time Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for measuring page load times in web browsers are inefficient, requiring manual examination of HTTP requests and not suitable for real-world usage, as they do not provide accurate and automated measurements of when individual web page resources are downloaded and rendered.
Innovation Solution
A method that involves injecting executable instructions into web pages to track the download and rendering times of resources, using client-side timers and additional scripting to determine when resources are fully loaded, and reporting these metrics to a server for analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If manual HTTP request viewing is used to measure page load times, then developers can observe resource loading, but the method is not suitable for field measurements and lacks automation
Solution Approach 1:
The system enables self-service measurement by embedding executable instructions directly in the web page that automatically track and report resource loading times without requiring developer intervention or manual observation. The web client autonomously collects performance data and sends it to the server.
Solution Approach 2:
Executable instructions act as an intermediary between the web resources and the measurement system. These instructions are inserted into the web page and facilitate automatic tracking of resource loading events, bridging the gap between resource delivery and performance measurement.
2Measurement precision
If executable instructions are injected into web pages to track resource loading, then automated measurement is achieved, but the complexity of the web page increases
Solution Approach 1:
The measurement functionality is extracted from the core web page content and implemented as separate executable instructions that are dynamically added. This allows precise measurement without permanently altering the web page structure, as the tracking code can be removed or deactivated without affecting the original page.
Solution Approach 2:
The system uses dynamic execution of instructions rather than static page structure. The executable instructions are added and removed programmatically during page execution, allowing the web page to maintain its original simplicity while enabling precise measurement when needed.
3Loss of information
If detailed tracking of individual resource loading is implemented, then comprehensive performance data is obtained, but the amount of data to be processed and reported increases
Solution Approach 1:
The system performs preliminary aggregation of performance data on the client side before transmission to the server. The executable instructions collect and summarize resource loading information locally, reducing the volume of data that needs to be transmitted while preserving essential performance metrics.
Solution Approach 2:
Performance data is segmented by resource type and loading phase, allowing the system to track comprehensive information in an organized manner. This segmentation enables efficient processing and reporting of large volumes of performance data without losing important details.
Data Source
AI summary
Gathering performance information with respect to delivering web resources as perceived by a user at the web client. A method includes receiving a request for a web page. As a result of receiving the request, a first set of executable instructions are sent. The first set of executable instructions are configured to indicate a plurality of resources required to be at least one of downloaded to or rendered at the client for the web page to be considered loaded at the client. The first set of executable instructions are also configured to determine when each individual resource in the required resources have been be at least one of downloaded to or rendered at the client. The first set of executable instructions are also configured to determine a length of time associated with at least one of downloading to or rendering at the client the resources in the plurality of resources.


