Client-Side Web Resource Load Time Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveautomation of page load time measurementVSAvoidease of field measurement
Core Design Contradiction:
Extent of automationVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveprecision of resource loading time measurementVSAvoidcomplexity of web page structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecompleteness of performance informationVSAvoidquantity of performance data
Core Design Contradiction:
Loss of informationVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8572252B2Extensible dynamic performance instrumentation of pages
Publication Date: 2013.10.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8572252B2 patent drawing
  • US8572252B2 patent drawing
  • US8572252B2 patent drawing

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.