Single-Page Application Performance Metrics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for measuring web performance are inadequate for single-page applications (SPAs) as they continue to download and render resources after initial HTML loading, making it difficult to accurately calculate page load times and other performance metrics.

Innovation Solution

A system that collects and calculates page load times and other performance metrics by utilizing events associated with user input, rendering of views, and resource downloading, incorporating APIs and frameworks like Navigation Timing and Resource Timing, to provide accurate measurements for SPAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional timing events based on HTML loading are used to measure web performance, then traditional web page load times can be calculated, but accurate performance measurement becomes impossible for single-page applications that continue downloading and rendering resources after HTML loading completes

Engineering Contradiction:
Improvepage load time measurement accuracyVSAvoidapplicability to single-page applications
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent dynamically determines the end of page load based on application-specific events rather than static HTML loading completion. For SPAs, the measurement extends beyond HTML parse completion to include resource download and rendering events, making the measurement adaptive to different application types and their unique loading behaviors.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the measurement parameters from traditional HTML-based timing events to application-level events such as resource download completion and rendering finish. This parameter transformation enables accurate measurement of the actual user-perceived load time for SPAs while maintaining compatibility with traditional web pages.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If single-page applications continue downloading and rendering resources after initial HTML loading, then user experience is enhanced with dynamic content updates, but conventional timing events fail to capture the true load time

Engineering Contradiction:
Improvedynamic content renderingVSAvoidload time calculation accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms by monitoring application events and using them to adjust the load time measurement. The measurement process receives feedback from resource download events and rendering events, allowing it to accurately capture the true end of the loading process even as dynamic content continues to load and render.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent sets up preliminary event listeners and tracking mechanisms that capture timing information as events occur during the loading process. By preliminarily establishing the measurement framework before loading completes, the system can accurately record the true load time including all resource downloads and rendering operations.

Inventive Principle:
Principle #10Preliminary action

3Speed

If subsequent views in SPA are loaded without retrieving additional HTML, then navigation speed is improved, but conventional timing events cannot measure load times for subsequent views

Engineering Contradiction:
Improvesubsequent view loading speedVSAvoidsubsequent view load time measurement
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent segments the loading process into distinct measurable events for different views within the SPA. Each view transition is captured as a separate measurement unit with its own timing events, allowing individual measurement of subsequent view loading performance without being confounded by the initial HTML load timing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10038605B2Processing and visualization of single-page application performance metrics
Publication Date: 2018.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10038605B2 patent drawing
  • US10038605B2 patent drawing
  • US10038605B2 patent drawing

AI summary

The disclosed embodiments provide a system for processing data. During operation, the system obtains a set of metrics related to a performance of a single-page application (SPA), wherein the set of metrics includes an initial page load time of the SPA that is calculated from a page load event and a render completion time and a subsequent page load time of the SPA that is calculated from a transition time and the render completion time. Next, the system uses the set of metrics to display a graphical user interface (GUI) comprising a chart of a performance of the SPA. The system then displays, in the chart, a representation of the page load time for the SPA.